2024-10-31 14:18.39: New job: test ocaml-multicore/picos https://github.com/ocaml-multicore/picos.git#refs/heads/add-full-cml-support (cd0051a433a8df83b1c279aede776cba42ae49c4) (linux-x86_64:alpine-3.20-5.2_opam-2.2) Base: ocaml/opam:alpine-3.20-ocaml-5.2@sha256:76e7a6532370d377d073d4845a6e0a7221c715ae03ec8eac40d1b0b3885c3092 Opam project build To reproduce locally: git clone --recursive "https://github.com/ocaml-multicore/picos.git" -b "add-full-cml-support" && cd "picos" && git reset --hard cd0051a4 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:alpine-3.20-ocaml-5.2@sha256:76e7a6532370d377d073d4845a6e0a7221c715ae03ec8eac40d1b0b3885c3092 # alpine-3.20-5.2_opam-2.2 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam RUN opam init --reinit -ni RUN uname -rs && opam exec -- ocaml -version && opam --version WORKDIR /src RUN sudo chown opam /src RUN cd ~/opam-repository && (git cat-file -e 668080c004886a5b499064856b133b42e7d8c649 || git fetch origin master) && git reset -q --hard 668080c004886a5b499064856b133b42e7d8c649 && 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 './' ENV DEPS="alcotest.1.8.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-nnp.base base-threads.base base-unix.base base64.3.5.1 bigstringaf.0.10.0 bos.0.2.1 ca-certs.1.0.0 camlp-streams.5.0.1 cmdliner.1.3.0 cohttp.6.0.0~beta2 cohttp-lwt.6.0.0~beta2 cohttp-lwt-unix.6.0.0~beta2 conduit.6.2.3 conduit-lwt.6.2.3 conduit-lwt-unix.6.2.3 conf-gmp.4 conf-gmp-powm-sec.3 conf-npm.1 conf-pkg-config.3 containers.3.14 cppo.1.7.0 csexp.1.5.2 digestif.1.2.0 domain-local-await.1.0.1 domain-name.0.4.0 domain_shims.0.1.0 dscheck.0.5.0 dune.3.16.0 dune-configurator.3.16.0 duration.0.2.1 either.1.0.0 eqaf.0.10 fmt.0.9.0 fpath.0.7.3 gen.1.1 gmap.0.3.0 host-arch-x86_64.1 host-system-other.1 http.6.0.0~beta2 ipaddr.5.6.0 ipaddr-sexp.5.6.0 js_of_ocaml.5.8.2 js_of_ocaml-compiler.5.8.2 kdf.1.0.0 logs.0.7.0 lwt.5.8.0 macaddr.5.6.0 magic-mime.1.3.1 mdx.2.4.1 menhir.20240715 menhirCST.20240715 menhirLib.20240715 menhirSdk.20240715 mirage-crypto.1.1.0 mirage-crypto-ec.1.1.0 mirage-crypto-pk.1.1.0 mirage-crypto-rng.1.1.0 mtime.2.1.0 multicore-bench.0.1.7 multicore-magic.2.3.0 multicore-magic-dscheck.2.3.0 num.1.5-1 ocaml.5.2.0 ocaml-base-compiler.5.2.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.3.6.9 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.15.0 ocamlfind.1.9.6 ocplib-endian.1.2 ohex.0.2.0 oseq.0.5.1 parsexp.v0.17.0 ppx_derivers.1.2.1 ppx_sexp_conv.v0.17.0 ppxlib.0.33.0 ppxlib_jane.v0.17.0 psq.0.2.1 ptime.1.2.0 qcheck-core.0.22 qcheck-multicoretests-util.0.4 qcheck-stm.0.4 re.1.12.0 result.1.5 rresult.0.7.0 sedlex.3.3 seq.base sexplib.v0.17.0 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.7 tsort.2.1.0 uri.4.4.0 uri-sexp.4.4.0 uutf.1.0.3 x509.1.0.5 yojson.2.2.2 zarith.1.14" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.2 --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 2024-10-31 14:18.39: Using cache hint "ocaml-multicore/picos-ocaml/opam:alpine-3.20-ocaml-5.2@sha256:76e7a6532370d377d073d4845a6e0a7221c715ae03ec8eac40d1b0b3885c3092-alpine-3.20-5.2_opam-2.2-3ad59957796144d2ab5a31d2889fd5fa" 2024-10-31 14:18.39: Using OBuilder spec: ((from ocaml/opam:alpine-3.20-ocaml-5.2@sha256:76e7a6532370d377d073d4845a6e0a7221c715ae03ec8eac40d1b0b3885c3092) (comment alpine-3.20-5.2_opam-2.2) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (workdir /src) (run (shell "sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam")) (run (shell "opam init --reinit -ni")) (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) (workdir /src) (run (shell "sudo chown opam /src")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 668080c004886a5b499064856b133b42e7d8c649 || git fetch origin master) && git reset -q --hard 668080c004886a5b499064856b133b42e7d8c649 && 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 './'")) (env DEPS "alcotest.1.8.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-nnp.base base-threads.base base-unix.base base64.3.5.1 bigstringaf.0.10.0 bos.0.2.1 ca-certs.1.0.0 camlp-streams.5.0.1 cmdliner.1.3.0 cohttp.6.0.0~beta2 cohttp-lwt.6.0.0~beta2 cohttp-lwt-unix.6.0.0~beta2 conduit.6.2.3 conduit-lwt.6.2.3 conduit-lwt-unix.6.2.3 conf-gmp.4 conf-gmp-powm-sec.3 conf-npm.1 conf-pkg-config.3 containers.3.14 cppo.1.7.0 csexp.1.5.2 digestif.1.2.0 domain-local-await.1.0.1 domain-name.0.4.0 domain_shims.0.1.0 dscheck.0.5.0 dune.3.16.0 dune-configurator.3.16.0 duration.0.2.1 either.1.0.0 eqaf.0.10 fmt.0.9.0 fpath.0.7.3 gen.1.1 gmap.0.3.0 host-arch-x86_64.1 host-system-other.1 http.6.0.0~beta2 ipaddr.5.6.0 ipaddr-sexp.5.6.0 js_of_ocaml.5.8.2 js_of_ocaml-compiler.5.8.2 kdf.1.0.0 logs.0.7.0 lwt.5.8.0 macaddr.5.6.0 magic-mime.1.3.1 mdx.2.4.1 menhir.20240715 menhirCST.20240715 menhirLib.20240715 menhirSdk.20240715 mirage-crypto.1.1.0 mirage-crypto-ec.1.1.0 mirage-crypto-pk.1.1.0 mirage-crypto-rng.1.1.0 mtime.2.1.0 multicore-bench.0.1.7 multicore-magic.2.3.0 multicore-magic-dscheck.2.3.0 num.1.5-1 ocaml.5.2.0 ocaml-base-compiler.5.2.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.3.6.9 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.15.0 ocamlfind.1.9.6 ocplib-endian.1.2 ohex.0.2.0 oseq.0.5.1 parsexp.v0.17.0 ppx_derivers.1.2.1 ppx_sexp_conv.v0.17.0 ppxlib.0.33.0 ppxlib_jane.v0.17.0 psq.0.2.1 ptime.1.2.0 qcheck-core.0.22 qcheck-multicoretests-util.0.4 qcheck-stm.0.4 re.1.12.0 result.1.5 rresult.0.7.0 sedlex.3.3 seq.base sexplib.v0.17.0 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.7 tsort.2.1.0 uri.4.4.0 uri-sexp.4.4.0 uutf.1.0.3 x509.1.0.5 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.2 --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")) ) 2024-10-31 14:18.39: Waiting for resource in pool OCluster 2024-10-31 14:46.56: Waiting for worker… 2024-10-31 15:09.29: Got resource from pool OCluster Building on x86-bm-c8.sw.ocaml.org All commits already cached HEAD is now at cd0051a Add CML style Ch (from ocaml/opam:alpine-3.20-ocaml-5.2@sha256:76e7a6532370d377d073d4845a6e0a7221c715ae03ec8eac40d1b0b3885c3092) Unable to find image 'ocaml/opam:alpine-3.20-ocaml-5.2@sha256:76e7a6532370d377d073d4845a6e0a7221c715ae03ec8eac40d1b0b3885c3092' locally docker.io/ocaml/opam@sha256:76e7a6532370d377d073d4845a6e0a7221c715ae03ec8eac40d1b0b3885c3092: Pulling from ocaml/opam 6b0252655fbc: Pulling fs layer 6b0252655fbc: Download complete 6b0252655fbc: Pull complete Digest: sha256:76e7a6532370d377d073d4845a6e0a7221c715ae03ec8eac40d1b0b3885c3092 Status: Downloaded newer image for ocaml/opam@sha256:76e7a6532370d377d073d4845a6e0a7221c715ae03ec8eac40d1b0b3885c3092 2024-10-31 15:09.29 ---> using "3083c4a52ed114169a343f8f0757eee7df3a78614280f1ec7c3ad580ec2dbdf1" from cache /: (comment alpine-3.20-5.2_opam-2.2) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (workdir /src) /src: (run (shell "sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam")) 2024-10-31 15:09.29 ---> using "6a15347e54ffc8ab267ab163f0d10403a5d5edd80e7e014f363ef10d717eea4d" from cache /src: (run (shell "opam init --reinit -ni")) Configuring from /home/opam/.opamrc and then from built-in defaults. Checking for available remotes: rsync and local, git. - you won't be able to use mercurial repositories unless you install the hg command on your system. - you won't be able to use darcs repositories unless you install the darcs command on your system. This development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted. You may want to back it up before going further. Continue? [y/n] y [NOTE] The 'jobs' option was reset, its value was 255 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using: opam option jobs=255 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from file:///home/opam/opam-repository 2024-10-31 15:09.29 ---> using "9b7a12d29f2a82b6131b02983e22615f80542cad2464fe589286bf3e61440ac8" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 5.15.0-122-generic The OCaml toplevel, version 5.2.0 2.2.1 2024-10-31 15:09.29 ---> using "7c6d6213a703bd1b4512290d4902a62543715ccb709c4e78bd354fed93cf8e1e" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2024-10-31 15:09.29 ---> using "7a07b383629f97ca5242f8c1d1868d6f9fb8fa08c963c7250d35d625e3937ee1" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 668080c004886a5b499064856b133b42e7d8c649 || git fetch origin master) && git reset -q --hard 668080c004886a5b499064856b133b42e7d8c649 && git log --no-decorate -n1 --oneline && opam update -u")) 668080c004 Merge pull request #26805 from toots/opam-publish-sedlex.3.3 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from file:///home/opam/opam-repository Everything as up-to-date as possible (run with --verbose to show unavailable upgrades). However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages. Nothing to do. # Run eval $(opam env) to update the current shell environment 2024-10-31 15:10.15 ---> saved as "e9d44d0463479f7769fe66f007a309cdc9ddcecc2b95c85f6a8c2f7be31d389b" /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 ./)) 2024-10-31 15:10.15 ---> saved as "49811d63025983063abae33caf2a571188c2ee58fd389f4877fb9c1bbb128dd5" /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) 2024-10-31 15:10.38 ---> saved as "d88b6c1e3001befb71ac72a570f1be33a118de50b79d6c83399c51655d4756de" /src: (env DEPS "alcotest.1.8.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-nnp.base base-threads.base base-unix.base base64.3.5.1 bigstringaf.0.10.0 bos.0.2.1 ca-certs.1.0.0 camlp-streams.5.0.1 cmdliner.1.3.0 cohttp.6.0.0~beta2 cohttp-lwt.6.0.0~beta2 cohttp-lwt-unix.6.0.0~beta2 conduit.6.2.3 conduit-lwt.6.2.3 conduit-lwt-unix.6.2.3 conf-gmp.4 conf-gmp-powm-sec.3 conf-npm.1 conf-pkg-config.3 containers.3.14 cppo.1.7.0 csexp.1.5.2 digestif.1.2.0 domain-local-await.1.0.1 domain-name.0.4.0 domain_shims.0.1.0 dscheck.0.5.0 dune.3.16.0 dune-configurator.3.16.0 duration.0.2.1 either.1.0.0 eqaf.0.10 fmt.0.9.0 fpath.0.7.3 gen.1.1 gmap.0.3.0 host-arch-x86_64.1 host-system-other.1 http.6.0.0~beta2 ipaddr.5.6.0 ipaddr-sexp.5.6.0 js_of_ocaml.5.8.2 js_of_ocaml-compiler.5.8.2 kdf.1.0.0 logs.0.7.0 lwt.5.8.0 macaddr.5.6.0 magic-mime.1.3.1 mdx.2.4.1 menhir.20240715 menhirCST.20240715 menhirLib.20240715 menhirSdk.20240715 mirage-crypto.1.1.0 mirage-crypto-ec.1.1.0 mirage-crypto-pk.1.1.0 mirage-crypto-rng.1.1.0 mtime.2.1.0 multicore-bench.0.1.7 multicore-magic.2.3.0 multicore-magic-dscheck.2.3.0 num.1.5-1 ocaml.5.2.0 ocaml-base-compiler.5.2.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.3.6.9 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.15.0 ocamlfind.1.9.6 ocplib-endian.1.2 ohex.0.2.0 oseq.0.5.1 parsexp.v0.17.0 ppx_derivers.1.2.1 ppx_sexp_conv.v0.17.0 ppxlib.0.33.0 ppxlib_jane.v0.17.0 psq.0.2.1 ptime.1.2.0 qcheck-core.0.22 qcheck-multicoretests-util.0.4 qcheck-stm.0.4 re.1.12.0 result.1.5 rresult.0.7.0 sedlex.3.3 seq.base sexplib.v0.17.0 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.7 tsort.2.1.0 uri.4.4.0 uri-sexp.4.4.0 uutf.1.0.3 x509.1.0.5 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.2 --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.20/main/x86_64/APKINDEX.tar.gz - fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz - fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz - fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz - fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz - v3.20.3-235-gcfe78cf5f7a [https://dl-cdn.alpinelinux.org/alpine/v3.20/main] - v3.20.3-238-gec151eee3c7 [https://dl-cdn.alpinelinux.org/alpine/v3.20/community] - v20240923-3273-g4e21aff3a88 [https://dl-cdn.alpinelinux.org/alpine/edge/main] - v20240923-3269-g20b2c976c77 [https://dl-cdn.alpinelinux.org/alpine/edge/community] - v20240923-3263-g3f41b5c0595 [https://dl-cdn.alpinelinux.org/alpine/edge/testing] - OK: 55782 distinct packages available <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [picos.dev] synchronised (no changes) [picos_aux.dev] synchronised (no changes) [picos_io.dev] synchronised (no changes) [picos_io_cohttp.dev] synchronised (no changes) [picos_lwt.dev] synchronised (no changes) [picos_meta.dev] synchronised (no changes) [picos_mux.dev] synchronised (no changes) [picos_std.dev] synchronised (no changes) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 3). [NOTE] Package ocaml-base-compiler is already installed (current version is 5.2.0). [NOTE] Package ocaml is already installed (current version is 5.2.0). [NOTE] Package host-system-other is already installed (current version is 1). [NOTE] Package host-arch-x86_64 is already installed (current version is 1). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-nnp 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/8) Installing libgmpxx (6.3.0-r1) - (2/8) Installing gmp-dev (6.3.0-r1) - (3/8) Installing ada-libs (2.7.8-r0) - (4/8) 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/8) Installing icu-libs (74.2-r0) - (6/8) Installing libuv (1.48.0-r0) - (7/8) Installing nodejs-current (21.7.3-r0) - (8/8) Installing npm (10.8.0-r0) - Executing busybox-1.36.1-r29.trigger - OK: 364 MiB in 109 packages 2024-10-31 15:11.14 ---> saved as "8054676423d28fd3b370989a6d1259a2032f92d6ba7c3f41d79802ead219f7f4" /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-base-compiler is already installed (current version is 5.2.0). [NOTE] Package ocaml is already installed (current version is 5.2.0). [NOTE] Package host-system-other is already installed (current version is 1). [NOTE] Package host-arch-x86_64 is already installed (current version is 1). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-nnp 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 102 packages - install alcotest 1.8.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.0 - install camlp-streams 5.0.1 - install cmdliner 1.3.0 - install cohttp 6.0.0~beta2 - install cohttp-lwt 6.0.0~beta2 - install cohttp-lwt-unix 6.0.0~beta2 - install conduit 6.2.3 - install conduit-lwt 6.2.3 - install conduit-lwt-unix 6.2.3 - install conf-gmp 4 - install conf-gmp-powm-sec 3 - install conf-npm 1 - install conf-pkg-config 3 - install containers 3.14 - install cppo 1.7.0 - install csexp 1.5.2 - install digestif 1.2.0 - install domain-local-await 1.0.1 - install domain-name 0.4.0 - install domain_shims 0.1.0 - install dscheck 0.5.0 - install dune 3.16.0 - install dune-configurator 3.16.0 - install duration 0.2.1 - install either 1.0.0 - install eqaf 0.10 - install fmt 0.9.0 - install fpath 0.7.3 - install gen 1.1 - install gmap 0.3.0 - install http 6.0.0~beta2 - install ipaddr 5.6.0 - install ipaddr-sexp 5.6.0 - install js_of_ocaml 5.8.2 - install js_of_ocaml-compiler 5.8.2 - install kdf 1.0.0 - install logs 0.7.0 - install lwt 5.8.0 - install macaddr 5.6.0 - install magic-mime 1.3.1 - install mdx 2.4.1 - install menhir 20240715 - install menhirCST 20240715 - install menhirLib 20240715 - install menhirSdk 20240715 - install mirage-crypto 1.1.0 - install mirage-crypto-ec 1.1.0 - install mirage-crypto-pk 1.1.0 - install mirage-crypto-rng 1.1.0 - install mtime 2.1.0 - install multicore-bench 0.1.7 - install multicore-magic 2.3.0 - install multicore-magic-dscheck 2.3.0 - install num 1.5-1 - install ocaml-compiler-libs v0.17.0 - install ocaml-syntax-shims 1.0.0 - install ocaml-version 3.6.9 - install ocaml_intrinsics_kernel v0.17.1 - install ocamlbuild 0.15.0 - install ocamlfind 1.9.6 - install ocplib-endian 1.2 - install ohex 0.2.0 - install oseq 0.5.1 - install parsexp v0.17.0 - install ppx_derivers 1.2.1 - install ppx_sexp_conv v0.17.0 - install ppxlib 0.33.0 - install ppxlib_jane v0.17.0 - install psq 0.2.1 - install ptime 1.2.0 - install qcheck-core 0.22 - install qcheck-multicoretests-util 0.4 - install qcheck-stm 0.4 - install re 1.12.0 - install result 1.5 - install rresult 0.7.0 - install sedlex 3.3 - install seq base - install sexplib v0.17.0 - 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.7 - install tsort 2.1.0 - install uri 4.4.0 - install uri-sexp 4.4.0 - install uutf 1.0.3 - install x509 1.0.5 - 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 backoff.0.1.1 (cached) -> retrieved alcotest.1.8.0 (cached) -> retrieved base.v0.17.1 (cached) -> retrieved base64.3.5.1 (cached) -> retrieved bigstringaf.0.10.0 (cached) -> retrieved bos.0.2.1 (cached) -> retrieved ca-certs.1.0.0 (cached) -> retrieved camlp-streams.5.0.1 (cached) -> retrieved cmdliner.1.3.0 (cached) -> retrieved conf-gmp.4 (cached) -> retrieved conf-gmp-powm-sec.3 (cached) -> retrieved conduit.6.2.3, conduit-lwt.6.2.3, conduit-lwt-unix.6.2.3 (cached) -> retrieved cohttp.6.0.0~beta2, cohttp-lwt.6.0.0~beta2, cohttp-lwt-unix.6.0.0~beta2, http.6.0.0~beta2 (cached) -> retrieved containers.3.14 (cached) -> installed conf-gmp.4 -> installed conf-npm.1 -> installed conf-pkg-config.3 -> retrieved cppo.1.7.0 (cached) -> retrieved csexp.1.5.2 (cached) -> retrieved domain-local-await.1.0.1 (cached) -> retrieved domain-name.0.4.0 (cached) -> retrieved domain_shims.0.1.0 (cached) -> installed conf-gmp-powm-sec.3 -> 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.9.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.2.0 (cached) -> retrieved kdf.1.0.0 (cached) -> retrieved logs.0.7.0 (cached) -> retrieved lwt.5.8.0 (cached) -> retrieved dune.3.16.0, dune-configurator.3.16.0 (cached) -> retrieved js_of_ocaml.5.8.2, js_of_ocaml-compiler.5.8.2 (cached) -> retrieved magic-mime.1.3.1 (cached) -> retrieved mdx.2.4.1 (cached) -> retrieved menhir.20240715, menhirCST.20240715, menhirLib.20240715, menhirSdk.20240715 (cached) -> retrieved mtime.2.1.0 (cached) -> installed cmdliner.1.3.0 -> retrieved multicore-bench.0.1.7 (cached) -> retrieved multicore-magic.2.3.0, multicore-magic-dscheck.2.3.0 (cached) -> retrieved num.1.5-1 (cached) -> retrieved ocaml-compiler-libs.v0.17.0 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved ocaml-version.3.6.9 (cached) -> retrieved ocaml_intrinsics_kernel.v0.17.1 (cached) -> retrieved ocamlbuild.0.15.0 (cached) -> retrieved ocamlfind.1.9.6 (cached) -> retrieved ocplib-endian.1.2 (cached) -> retrieved ohex.0.2.0 (cached) -> retrieved oseq.0.5.1 (cached) -> retrieved parsexp.v0.17.0 (cached) -> retrieved ppx_derivers.1.2.1 (cached) -> retrieved ppx_sexp_conv.v0.17.0 (cached) -> retrieved ppxlib_jane.v0.17.0 (cached) -> retrieved psq.0.2.1 (cached) -> retrieved ptime.1.2.0 (cached) -> retrieved qcheck-core.0.22 (cached) -> retrieved qcheck-multicoretests-util.0.4, qcheck-stm.0.4 (cached) -> retrieved mirage-crypto.1.1.0, mirage-crypto-ec.1.1.0, mirage-crypto-pk.1.1.0, mirage-crypto-rng.1.1.0 (cached) -> retrieved ppxlib.0.33.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.3 (cached) -> retrieved sexplib.v0.17.0 (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.1.0 (cached) -> retrieved uutf.1.0.3 (cached) -> retrieved topkg.1.0.7 (cached) -> retrieved x509.1.0.5 (cached) -> retrieved uri.4.4.0, uri-sexp.4.4.0 (cached) -> retrieved yojson.2.2.2 (cached) -> retrieved zarith.1.14 (cached) -> installed num.1.5-1 -> installed ocamlfind.1.9.6 -> installed base-bytes.base -> installed ocamlbuild.0.15.0 -> installed zarith.1.14 -> installed topkg.1.0.7 -> installed rresult.0.7.0 -> installed uutf.1.0.3 -> installed mtime.2.1.0 -> installed fmt.0.9.0 -> installed ptime.1.2.0 -> installed astring.0.8.5 -> installed fpath.0.7.3 -> installed dune.3.16.0 -> installed backoff.0.1.1 -> installed camlp-streams.5.0.1 -> installed csexp.1.5.2 -> installed domain-name.0.4.0 -> installed asn1-combinators.0.3.2 -> installed base64.3.5.1 -> installed cppo.1.7.0 -> 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 http.6.0.0~beta2 -> 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.0 -> installed ocaml-compiler-libs.v0.17.0 -> installed ocaml-syntax-shims.1.0.0 -> installed ocaml-version.3.6.9 -> 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 re.1.12.0 -> installed qcheck-core.0.22 -> 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.1.0 -> installed ocplib-endian.1.2 -> installed ipaddr.5.6.0 -> installed digestif.1.2.0 -> installed qcheck-multicoretests-util.0.4 -> installed domain-local-await.1.0.1 -> installed qcheck-stm.0.4 -> installed yojson.2.2.2 -> installed alcotest.1.8.0 -> installed parsexp.v0.17.0 -> installed dune-configurator.3.16.0 -> installed multicore-bench.0.1.7 -> installed bigstringaf.0.10.0 -> installed sexplib.v0.17.0 -> installed angstrom.0.16.1 -> installed containers.3.14 -> installed mirage-crypto.1.1.0 -> installed uri.4.4.0 -> installed dscheck.0.5.0 -> installed kdf.1.0.0 -> installed multicore-magic-dscheck.2.3.0 -> installed lwt.5.8.0 -> installed base.v0.17.1 -> installed menhir.20240715 -> installed ppxlib.0.33.0 -> installed ppxlib_jane.v0.17.0 -> installed sedlex.3.3 -> installed ppx_sexp_conv.v0.17.0 -> installed ipaddr-sexp.5.6.0 -> installed uri-sexp.4.4.0 -> installed js_of_ocaml-compiler.5.8.2 -> installed js_of_ocaml.5.8.2 -> installed logs.0.7.0 -> installed mirage-crypto-rng.1.1.0 -> installed mirage-crypto-pk.1.1.0 -> installed conduit.6.2.3 -> installed cohttp.6.0.0~beta2 -> installed mdx.2.4.1 -> installed bos.0.2.1 -> installed conduit-lwt.6.2.3 -> installed cohttp-lwt.6.0.0~beta2 -> installed mirage-crypto-ec.1.1.0 -> installed x509.1.0.5 -> installed ca-certs.1.0.0 -> installed conduit-lwt-unix.6.2.3 -> installed cohttp-lwt-unix.6.0.0~beta2 Done. # Run eval $(opam env) to update the current shell environment 2024-10-31 15:13.37 ---> saved as "b0d61884e0fc240792f3ae41374cb738c82e56179edeae3261334ea52f910e6b" /src: (copy (src .) (dst /src)) 2024-10-31 15:13.37 ---> saved as "97a80df5de8a0d155eaef2dc6d535f0e7959e400dd3e3625c1d271ba494a1677" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) (cd _build/default/test && ./test_lwt_unix.exe) Testing `Picos_lwt'. This run has ID `4UFT5FXE'. [OK] Basics 0 Full test results in `/src/_build/default/test/_build/_tests/Picos_lwt'. Test Successful in 0.051s. 1 test run. (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.0.0_beta2 Body: (cd _build/default/test && ./test_server_and_client.exe) Using non-blocking sockets and fibers on OCaml 5: Looping server running Server listening Server accepting Client B running Client A running Server accepted client Client B connected Client B wrote 100 Client A connected Client A wrote 100 Server read 100 Server wrote 50 Server accepting Server accepted client Server read 100 Server wrote 50 Server accepting Client B read 50 Client A read 50 Server and Client test: OK (cd _build/default/test && ./test_io.exe) Testing `Picos_io'. This run has ID `EGJGC0XD'. [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.725s. 6 tests run. (cd _build/default/test && ./test_finally.exe) Testing `Picos_finally'. This run has ID `ZHEWE8AH'. [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.057s. 2 tests run. (cd _build/default/test && ./test_structured.exe) Testing `Picos_structured'. This run has ID `FECCF87P'. [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] Bundle 11 any and all errors. [OK] Bundle 12 any and all returns. [OK] Bundle 13 race any. Full test results in `/src/_build/default/test/_build/_tests/Picos_structured'. Test Successful in 1.328s. 14 tests run. (cd _build/default/test && ./test_io_with_lwt.exe) Testing `Picos_io_with_lwt'. This run has ID `FHT4PZIV'. [OK] Unix 0 system. Full test results in `/src/_build/default/test/_build/_tests/Picos_io_with_lwt'. Test Successful in 2.237s. 1 test run. (cd _build/default/test && ./test_sync.exe -- Event 0) Testing `Picos_sync'. This run has ID `6FYWE1AN'. [SKIP] Mutex and Condition 0 basics. [SKIP] Mutex and Condition 1 errors. [SKIP] Mutex and Condition 2 cancelation. [SKIP] Semaphore 0 basics. [SKIP] Semaphore 1 stress. [SKIP] Lazy 0 basics. [SKIP] Lazy 1 cancelation. [OK] Event 0 basics. [SKIP] Ch 0 basics. [SKIP] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.169s. 1 test run. (cd _build/default/test && ./test_sync.exe -- Ch 0) Testing `Picos_sync'. This run has ID `7XKLCHT7'. [SKIP] Mutex and Condition 0 basics. [SKIP] Mutex and Condition 1 errors. [SKIP] Mutex and Condition 2 cancelation. [SKIP] Semaphore 0 basics. [SKIP] Semaphore 1 stress. [SKIP] Lazy 0 basics. [SKIP] Lazy 1 cancelation. [SKIP] Event 0 basics. [OK] Ch 0 basics. [SKIP] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.088s. 1 test run. (cd _build/default/test && ./test_sync.exe -- Lazy 0) Testing `Picos_sync'. This run has ID `SX73U7P0'. [SKIP] Mutex and Condition 0 basics. [SKIP] Mutex and Condition 1 errors. [SKIP] Mutex and Condition 2 cancelation. [SKIP] Semaphore 0 basics. [SKIP] Semaphore 1 stress. [OK] Lazy 0 basics. [SKIP] Lazy 1 cancelation. [SKIP] Event 0 basics. [SKIP] Ch 0 basics. [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 `GIBS2L22'. [SKIP] Mutex and Condition 0 basics. [SKIP] Mutex and Condition 1 errors. [SKIP] Mutex and Condition 2 cancelation. [SKIP] Semaphore 0 basics. [SKIP] Semaphore 1 stress. [SKIP] Lazy 0 basics. [OK] Lazy 1 cancelation. [SKIP] Event 0 basics. [SKIP] Ch 0 basics. [SKIP] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.124s. 1 test run. (cd _build/default/test && ./test_select.exe) Testing `Picos_select'. This run has ID `74MWVCX8'. [OK] Intr 0 Full test results in `/src/_build/default/test/_build/_tests/Picos_select'. Test Successful in 7.813s. 1 test run. (cd _build/default/test && ./test_sync.exe -- Semaphore 0) Testing `Picos_sync'. This run has ID `TE28J70V'. [SKIP] Mutex and Condition 0 basics. [SKIP] Mutex and Condition 1 errors. [SKIP] Mutex and Condition 2 cancelation. [OK] Semaphore 0 basics. [SKIP] Semaphore 1 stress. [SKIP] Lazy 0 basics. [SKIP] Lazy 1 cancelation. [SKIP] Event 0 basics. [SKIP] Ch 0 basics. [SKIP] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.068s. 1 test run. (cd _build/default/test && ./test_io_cohttp.exe) Uri: //127.0.0.1:42379/hello-io-cohttp Method: POST host: 127.0.0.1:42379 user-agent: ocaml-cohttp/v6.0.0_beta2 content-length: 17 Body: It's-a-Me, Picos! (cd _build/default/test && ./test_sync.exe -- Semaphore 1) Testing `Picos_sync'. This run has ID `HX5NSF7W'. [SKIP] Mutex and Condition 0 basics. [SKIP] Mutex and Condition 1 errors. [SKIP] Mutex and Condition 2 cancelation. [SKIP] Semaphore 0 basics. [OK] Semaphore 1 stress. [SKIP] Lazy 0 basics. [SKIP] Lazy 1 cancelation. [SKIP] Event 0 basics. [SKIP] Ch 0 basics. [SKIP] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.672s. 1 test run. (cd _build/default/test && ./test_sync.exe -- 'Non-cancelable ops' 0) Testing `Picos_sync'. This run has ID `GFBYKLX3'. [SKIP] Mutex and Condition 0 basics. [SKIP] Mutex and Condition 1 errors. [SKIP] Mutex and Condition 2 cancelation. [SKIP] Semaphore 0 basics. [SKIP] Semaphore 1 stress. [SKIP] Lazy 0 basics. [SKIP] Lazy 1 cancelation. [SKIP] Event 0 basics. [SKIP] Ch 0 basics. [OK] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.090s. 1 test run. (cd _build/default/test && ./test_sync.exe -- 'Mutex and Condition' 0) Testing `Picos_sync'. This run has ID `STPX1D5M'. [OK] Mutex and Condition 0 basics. [SKIP] Mutex and Condition 1 errors. [SKIP] Mutex and Condition 2 cancelation. [SKIP] Semaphore 0 basics. [SKIP] Semaphore 1 stress. [SKIP] Lazy 0 basics. [SKIP] Lazy 1 cancelation. [SKIP] Event 0 basics. [SKIP] Ch 0 basics. [SKIP] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.062s. 1 test run. (cd _build/default/test && ./test_sync.exe -- 'Mutex and Condition' 1) Testing `Picos_sync'. This run has ID `EF9I0I1L'. [SKIP] Mutex and Condition 0 basics. [OK] Mutex and Condition 1 errors. [SKIP] Mutex and Condition 2 cancelation. [SKIP] Semaphore 0 basics. [SKIP] Semaphore 1 stress. [SKIP] Lazy 0 basics. [SKIP] Lazy 1 cancelation. [SKIP] Event 0 basics. [SKIP] Ch 0 basics. [SKIP] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.043s. 1 test run. (cd _build/default/test && ./test_sync.exe -- 'Mutex and Condition' 2) Testing `Picos_sync'. This run has ID `L930LNZF'. [SKIP] Mutex and Condition 0 basics. [SKIP] Mutex and Condition 1 errors. [OK] Mutex and Condition 2 cancelation. [SKIP] Semaphore 0 basics. [SKIP] Semaphore 1 stress. [SKIP] Lazy 0 basics. [SKIP] Lazy 1 cancelation. [SKIP] Event 0 basics. [SKIP] Ch 0 basics. [SKIP] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 4.356s. 1 test run. (cd _build/default/test && ./test_picos_dscheck.exe) Testing `Picos DSCheck'. This run has ID `SRUJF110'. [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 6.611s. 3 tests run. (cd _build/default/bench && ./main.exe -brief 'Picos Computation') Picos Computation: attach detach pairs over time/1 worker: 0.39 M/s attach detach pairs over time/2 workers: 0.67 M/s attach detach pairs over time/4 workers: 0.32 M/s attach detach pairs over time/trivial: 0.76 M/s time per attach detach pair/1 worker: 2591.72 ns time per attach detach pair/2 workers: 3002.17 ns time per attach detach pair/4 workers: 12626.07 ns time per attach detach pair/trivial: 1310.45 ns (cd _build/default/bench && ./main.exe -brief 'Picos Current') Picos Current: ops over time/1 worker: 6.00 M/s ops over time/2 workers: 5.86 M/s ops over time/4 workers: 4.28 M/s time per op/1 worker: 166.72 ns time per op/2 workers: 341.32 ns time per op/4 workers: 935.28 ns (cd _build/default/test && ./test_mpmcq_dscheck.exe) Testing `Picos_mpmcq DSCheck'. This run has ID `MSCGMURN'. [OK] Multiple pushes and pops 0 Full test results in `/src/_build/default/test/_build/_tests/Picos_mpmcq DSCheck'. Test Successful in 15.336s. 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 FLS (excluding Current)') Picos FLS (excluding Current): gets over time/1 worker: 30.90 M/s gets over time/2 workers: 44.10 M/s gets over time/4 workers: 65.27 M/s sets over time/1 worker: 23.65 M/s sets over time/2 workers: 33.71 M/s sets over time/4 workers: 29.56 M/s time per get/1 worker: 32.36 ns time per get/2 workers: 45.35 ns time per get/4 workers: 61.28 ns time per set/1 worker: 42.29 ns time per set/2 workers: 59.33 ns time per set/4 workers: 135.30 ns (cd _build/default/bench && ./main.exe -brief 'Picos TLS') Picos TLS: gets over time/1 worker: 20.88 M/s gets over time/2 workers: 12.56 M/s gets over time/4 workers: 34.87 M/s sets over time/1 worker: 8.79 M/s sets over time/2 workers: 7.75 M/s sets over time/4 workers: 21.12 M/s time per get/1 worker: 47.90 ns time per get/2 workers: 159.29 ns time per get/4 workers: 114.71 ns time per set/1 worker: 113.79 ns time per set/2 workers: 258.01 ns time per set/4 workers: 189.37 ns (cd _build/default/test && ./test_schedulers.exe) Testing `Picos schedulers'. This run has ID `KO7MAHZW'. [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 57.333s. 8 tests run. (cd _build/default/test && ./test_picos.exe) Testing `Picos'. This run has ID `C4P3KBP4'. [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 60.690s. 7 tests run. (cd _build/default/bench && ./main.exe -brief 'Picos DLS') Picos DLS: gets over time/1 worker: 20.47 M/s gets over time/2 workers: 33.46 M/s gets over time/4 workers: 139.15 M/s sets over time/1 worker: 9.65 M/s sets over time/2 workers: 18.19 M/s sets over time/4 workers: 88.19 M/s time per get/1 worker: 48.85 ns time per get/2 workers: 59.76 ns time per get/4 workers: 28.75 ns time per set/1 worker: 103.65 ns time per set/2 workers: 109.93 ns time per set/4 workers: 45.36 ns (cd _build/default/test && ./test_mpscq.exe) random seed: 2639086345645635053 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 4.1s Mpscq parallel [ ] 2 0 0 2 / 32 7.1s Mpscq parallel [ ] 3 0 0 3 / 32 9.9s Mpscq parallel [ ] 4 0 0 4 / 32 12.5s Mpscq parallel [ ] 5 0 0 5 / 32 15.1s Mpscq parallel [ ] 6 0 0 6 / 32 17.9s Mpscq parallel [ ] 7 0 0 7 / 32 20.5s Mpscq parallel [ ] 8 0 0 8 / 32 24.7s Mpscq parallel [ ] 9 0 0 9 / 32 27.3s Mpscq parallel [ ] 10 0 0 10 / 32 32.5s Mpscq parallel [ ] 11 0 0 11 / 32 34.8s Mpscq parallel [ ] 12 0 0 12 / 32 36.8s Mpscq parallel [ ] 13 0 0 13 / 32 38.3s Mpscq parallel [ ] 14 0 0 14 / 32 40.0s Mpscq parallel [ ] 15 0 0 15 / 32 41.9s Mpscq parallel [ ] 16 0 0 16 / 32 43.7s Mpscq parallel [ ] 17 0 0 17 / 32 46.6s Mpscq parallel [ ] 18 0 0 18 / 32 48.3s Mpscq parallel [ ] 19 0 0 19 / 32 49.9s Mpscq parallel [ ] 20 0 0 20 / 32 51.3s Mpscq parallel [ ] 21 0 0 21 / 32 53.0s Mpscq parallel [ ] 22 0 0 22 / 32 57.4s Mpscq parallel [ ] 23 0 0 23 / 32 59.1s Mpscq parallel [ ] 24 0 0 24 / 32 62.2s Mpscq parallel [ ] 25 0 0 25 / 32 64.3s Mpscq parallel [ ] 26 0 0 26 / 32 66.0s Mpscq parallel [ ] 27 0 0 27 / 32 68.2s Mpscq parallel [ ] 28 0 0 28 / 32 69.2s Mpscq parallel [ ] 29 0 0 29 / 32 70.0s Mpscq parallel [ ] 30 0 0 30 / 32 70.9s Mpscq parallel [ ] 32 0 0 32 / 32 71.1s Mpscq parallel [✓] 32 0 0 32 / 32 71.1s Mpscq parallel ================================================================================ success (ran 2 tests) (cd _build/default/test && ./test_htbl.exe) random seed: 848704780345767396 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 3.1s Htbl parallel [ ] 2 0 0 2 / 32 5.4s Htbl parallel [ ] 3 0 0 3 / 32 7.6s Htbl parallel [ ] 4 0 0 4 / 32 10.1s Htbl parallel [ ] 5 0 0 5 / 32 12.2s Htbl parallel [ ] 6 0 0 6 / 32 13.9s Htbl parallel [ ] 7 0 0 7 / 32 15.8s Htbl parallel [ ] 8 0 0 8 / 32 17.8s Htbl parallel [ ] 9 0 0 9 / 32 19.7s Htbl parallel [ ] 10 0 0 10 / 32 21.3s Htbl parallel [ ] 11 0 0 11 / 32 23.0s Htbl parallel [ ] 12 0 0 12 / 32 25.5s Htbl parallel [ ] 13 0 0 13 / 32 27.4s Htbl parallel [ ] 14 0 0 14 / 32 29.0s Htbl parallel [ ] 15 0 0 15 / 32 30.9s Htbl parallel [ ] 16 0 0 16 / 32 33.1s Htbl parallel [ ] 17 0 0 17 / 32 34.5s Htbl parallel [ ] 18 0 0 18 / 32 35.9s Htbl parallel [ ] 19 0 0 19 / 32 37.1s Htbl parallel [ ] 20 0 0 20 / 32 38.5s Htbl parallel [ ] 21 0 0 21 / 32 39.8s Htbl parallel [ ] 22 0 0 22 / 32 41.2s Htbl parallel [ ] 23 0 0 23 / 32 42.8s Htbl parallel [ ] 24 0 0 24 / 32 44.1s Htbl parallel [ ] 25 0 0 25 / 32 44.9s Htbl parallel [ ] 26 0 0 26 / 32 46.3s Htbl parallel [ ] 27 0 0 27 / 32 47.6s Htbl parallel [ ] 28 0 0 28 / 32 48.8s Htbl parallel [ ] 29 0 0 29 / 32 50.0s Htbl parallel [ ] 30 0 0 30 / 32 53.2s Htbl parallel [ ] 31 0 0 31 / 32 54.5s Htbl parallel [ ] 32 0 0 32 / 32 56.1s Htbl parallel [✓] 32 0 0 32 / 32 56.1s Htbl parallel ================================================================================ success (ran 2 tests) random seed: 395466836342964970 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 2.7s Htbl parallel [ ] 2 0 0 2 / 32 3.8s Htbl parallel [ ] 3 0 0 3 / 32 7.5s Htbl parallel [ ] 4 0 0 4 / 32 8.8s Htbl parallel [ ] 5 0 0 5 / 32 10.0s Htbl parallel [ ] 6 0 0 6 / 32 10.9s Htbl parallel [ ] 7 0 0 7 / 32 11.7s Htbl parallel [ ] 8 0 0 8 / 32 12.5s Htbl parallel [ ] 9 0 0 9 / 32 13.3s Htbl parallel [ ] 10 0 0 10 / 32 13.9s Htbl parallel [ ] 11 0 0 11 / 32 14.4s Htbl parallel [ ] 12 0 0 12 / 32 14.7s Htbl parallel [ ] 13 0 0 13 / 32 14.8s Htbl parallel [ ] 14 0 0 14 / 32 15.0s Htbl parallel [ ] 15 0 0 15 / 32 15.5s Htbl parallel [ ] 17 0 0 17 / 32 15.6s Htbl parallel [ ] 18 0 0 18 / 32 15.8s Htbl parallel [ ] 19 0 0 19 / 32 16.0s Htbl parallel [ ] 20 0 0 20 / 32 16.2s Htbl parallel [ ] 21 0 0 21 / 32 16.3s Htbl parallel [ ] 23 0 0 23 / 32 16.8s Htbl parallel [ ] 24 0 0 24 / 32 16.9s Htbl parallel [ ] 25 0 0 25 / 32 17.1s Htbl parallel [ ] 27 0 0 27 / 32 17.3s Htbl parallel [ ] 29 0 0 29 / 32 17.5s Htbl parallel [ ] 30 0 0 30 / 32 17.6s Htbl parallel [ ] 31 0 0 31 / 32 17.7s Htbl parallel [✓] 32 0 0 32 / 32 17.8s Htbl parallel ================================================================================ success (ran 2 tests) (cd _build/default/test && ./test_mpmcq.exe) random seed: 62841526487540354 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 2.5s Mpmcq parallel [ ] 2 0 0 2 / 32 6.6s Mpmcq parallel [ ] 3 0 0 3 / 32 10.0s Mpmcq parallel [ ] 4 0 0 4 / 32 12.0s Mpmcq parallel [ ] 5 0 0 5 / 32 15.7s Mpmcq parallel [ ] 6 0 0 6 / 32 17.8s Mpmcq parallel [ ] 7 0 0 7 / 32 19.8s Mpmcq parallel [ ] 8 0 0 8 / 32 21.6s Mpmcq parallel [ ] 9 0 0 9 / 32 25.7s Mpmcq parallel [ ] 10 0 0 10 / 32 27.0s Mpmcq parallel [ ] 11 0 0 11 / 32 28.5s Mpmcq parallel [ ] 12 0 0 12 / 32 30.3s Mpmcq parallel [ ] 13 0 0 13 / 32 32.2s Mpmcq parallel [ ] 14 0 0 14 / 32 34.3s Mpmcq parallel [ ] 15 0 0 15 / 32 35.5s Mpmcq parallel [ ] 16 0 0 16 / 32 37.0s Mpmcq parallel [ ] 17 0 0 17 / 32 38.1s Mpmcq parallel [ ] 18 0 0 18 / 32 39.4s Mpmcq parallel [ ] 19 0 0 19 / 32 41.5s Mpmcq parallel [ ] 20 0 0 20 / 32 43.0s Mpmcq parallel [ ] 21 0 0 21 / 32 44.0s Mpmcq parallel [ ] 22 0 0 22 / 32 45.5s Mpmcq parallel [ ] 23 0 0 23 / 32 46.5s Mpmcq parallel [ ] 24 0 0 24 / 32 47.6s Mpmcq parallel [ ] 25 0 0 25 / 32 48.8s Mpmcq parallel [ ] 26 0 0 26 / 32 50.2s Mpmcq parallel [ ] 27 0 0 27 / 32 51.5s Mpmcq parallel [ ] 28 0 0 28 / 32 52.7s Mpmcq parallel [ ] 29 0 0 29 / 32 54.4s Mpmcq parallel [ ] 30 0 0 30 / 32 55.6s Mpmcq parallel [ ] 31 0 0 31 / 32 57.1s Mpmcq parallel [ ] 32 0 0 32 / 32 58.2s Mpmcq parallel [✓] 32 0 0 32 / 32 58.2s Mpmcq parallel ================================================================================ success (ran 2 tests) random seed: 1803857724237067620 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 1.1s Mpmcq parallel [ ] 2 0 0 2 / 32 2.7s Mpmcq parallel [ ] 3 0 0 3 / 32 3.6s Mpmcq parallel [ ] 4 0 0 4 / 32 4.9s Mpmcq parallel [ ] 5 0 0 5 / 32 6.4s Mpmcq parallel [ ] 6 0 0 6 / 32 7.5s Mpmcq parallel [ ] 7 0 0 7 / 32 8.5s Mpmcq parallel [ ] 8 0 0 8 / 32 9.4s Mpmcq parallel [ ] 9 0 0 9 / 32 10.2s Mpmcq parallel [ ] 10 0 0 10 / 32 11.0s Mpmcq parallel [ ] 11 0 0 11 / 32 11.6s Mpmcq parallel [ ] 12 0 0 12 / 32 12.0s Mpmcq parallel [ ] 13 0 0 13 / 32 12.1s Mpmcq parallel [ ] 14 0 0 14 / 32 12.8s Mpmcq parallel [ ] 15 0 0 15 / 32 13.0s Mpmcq parallel [ ] 16 0 0 16 / 32 13.6s Mpmcq parallel [ ] 17 0 0 17 / 32 13.8s Mpmcq parallel [ ] 18 0 0 18 / 32 14.1s Mpmcq parallel [ ] 19 0 0 19 / 32 14.2s Mpmcq parallel [ ] 20 0 0 20 / 32 14.4s Mpmcq parallel [ ] 21 0 0 21 / 32 14.5s Mpmcq parallel [ ] 23 0 0 23 / 32 14.7s Mpmcq parallel [ ] 24 0 0 24 / 32 14.9s Mpmcq parallel [ ] 26 0 0 26 / 32 15.1s Mpmcq parallel [ ] 27 0 0 27 / 32 15.2s Mpmcq parallel [ ] 28 0 0 28 / 32 15.4s Mpmcq parallel [ ] 30 0 0 30 / 32 15.7s Mpmcq parallel [ ] 32 0 0 32 / 32 15.9s Mpmcq parallel [✓] 32 0 0 32 / 32 15.9s Mpmcq parallel ================================================================================ success (ran 2 tests) (cd _build/default/bench && ./main.exe -brief 'Picos Mutex') Picos Mutex: locked yields over time/1024 fibers: 0.59 M/s locked yields over time/1 fiber: 0.63 M/s locked yields over time/256 fibers: 0.24 M/s locked yields over time/2 domains: 1.19 M/s locked yields over time/2 fibers: 0.31 M/s locked yields over time/4 domains: 0.34 M/s locked yields over time/4 fibers: 0.17 M/s locked yields over time/512 fibers: 0.35 M/s locked yields over time/8 domains: 0.06 M/s locked yields over time/8 fibers: 0.16 M/s time per locked yield/1024 fibers: 1682.46 ns time per locked yield/1 fiber: 1591.12 ns time per locked yield/256 fibers: 4225.75 ns time per locked yield/2 domains: 1687.15 ns time per locked yield/2 fibers: 3223.56 ns time per locked yield/4 domains: 11682.78 ns time per locked yield/4 fibers: 5729.12 ns time per locked yield/512 fibers: 2868.76 ns time per locked yield/8 domains: 138142.69 ns time per locked yield/8 fibers: 6207.38 ns (cd _build/default/bench && ./main.exe -brief 'Picos Semaphore') Picos Semaphore: acquired yields over time/4 domains, 1 resource: 0.63 M/s acquired yields over time/4 domains, 2 resources: 1.57 M/s acquired yields over time/4 domains, 3 resources: 6.65 M/s acquired yields over time/4 domains, 4 resources: 6.82 M/s acquired yields over time/4 fibers, 1 resource: 0.66 M/s acquired yields over time/4 fibers, 2 resources: 0.96 M/s acquired yields over time/4 fibers, 3 resources: 1.31 M/s acquired yields over time/4 fibers, 4 resources: 4.25 M/s time per acquired yield/4 domains, 1 resource: 6380.64 ns time per acquired yield/4 domains, 2 resources: 2551.91 ns time per acquired yield/4 domains, 3 resources: 611.48 ns time per acquired yield/4 domains, 4 resources: 586.75 ns time per acquired yield/4 fibers, 1 resource: 1524.28 ns time per acquired yield/4 fibers, 2 resources: 1040.64 ns time per acquired yield/4 fibers, 3 resources: 761.01 ns time per acquired yield/4 fibers, 4 resources: 235.27 ns (cd _build/default/bench && ./main.exe -brief 'Picos Spawn') Picos Spawn: spawns over time/with packed computation: 6.37 M/s time per spawn/with packed computation: 157.03 ns (cd _build/default/bench && ./main.exe -brief 'Picos Yield') Picos Yield: time per yield/10000 fibers: 193.77 ns time per yield/1000 fibers: 107.03 ns time per yield/100 fibers: 119.57 ns time per yield/10 fibers: 149.57 ns time per yield/1 fiber: 107.98 ns yields over time/10000 fibers: 5.16 M/s yields over time/1000 fibers: 9.34 M/s yields over time/100 fibers: 8.36 M/s yields over time/10 fibers: 6.69 M/s yields over time/1 fiber: 9.26 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.34 M/s async round-trips over time/2 workers: 0.51 M/s async round-trips over time/4 workers: 0.88 M/s round-trips over time/1 worker: 0.10 M/s round-trips over time/2 workers: 0.13 M/s round-trips over time/4 workers: 0.23 M/s time per async round-trip/1 worker: 2952.96 ns time per async round-trip/2 workers: 3884.58 ns time per async round-trip/4 workers: 4537.69 ns time per round-trip/1 worker: 10082.97 ns time per round-trip/2 workers: 15173.33 ns time per round-trip/4 workers: 17504.44 ns (cd _build/default/bench && ./main.exe -brief 'Ref with Picos_sync.Mutex') Ref with Picos_sync.Mutex: ops over time/cas int (checked): 4.83 M/s ops over time/cas int (unchecked): 23.80 M/s ops over time/get (checked): 6.24 M/s ops over time/get (unchecked): 15.64 M/s ops over time/incr (checked): 4.99 M/s ops over time/incr (unchecked): 15.06 M/s ops over time/push & pop (checked): 4.17 M/s ops over time/push & pop (unchecked): 17.71 M/s ops over time/swap (checked): 3.78 M/s ops over time/swap (unchecked): 25.53 M/s ops over time/xchg int (checked): 3.49 M/s ops over time/xchg int (unchecked): 14.60 M/s time per op/cas int (checked): 206.83 ns time per op/cas int (unchecked): 42.01 ns time per op/get (checked): 160.14 ns time per op/get (unchecked): 63.94 ns time per op/incr (checked): 200.27 ns time per op/incr (unchecked): 66.42 ns time per op/push & pop (checked): 239.65 ns time per op/push & pop (unchecked): 56.46 ns time per op/swap (checked): 264.76 ns time per op/swap (unchecked): 39.17 ns time per op/xchg int (checked): 286.13 ns time per op/xchg int (unchecked): 68.48 ns (cd _build/default/bench && ./main.exe -brief Picos_mpmcq) Picos_mpmcq: messages over time/1 nb adder, 1 nb taker: 12.38 M/s messages over time/1 nb adder, 2 nb takers: 19.22 M/s messages over time/1 nb adder, 4 nb takers: 17.68 M/s messages over time/2 nb adders, 1 nb taker: 9.77 M/s messages over time/2 nb adders, 2 nb takers: 16.09 M/s messages over time/2 nb adders, 4 nb takers: 9.45 M/s messages over time/4 nb adders, 1 nb taker: 23.06 M/s messages over time/4 nb adders, 2 nb takers: 9.23 M/s messages over time/4 nb adders, 4 nb takers: 10.85 M/s messages over time/one domain: 17.71 M/s time per message/1 nb adder, 1 nb taker: 161.50 ns time per message/1 nb adder, 2 nb takers: 156.13 ns time per message/1 nb adder, 4 nb takers: 282.88 ns time per message/2 nb adders, 1 nb taker: 307.05 ns time per message/2 nb adders, 2 nb takers: 248.59 ns time per message/2 nb adders, 4 nb takers: 635.17 ns time per message/4 nb adders, 1 nb taker: 216.82 ns time per message/4 nb adders, 2 nb takers: 649.88 ns time per message/4 nb adders, 4 nb takers: 737.27 ns time per message/one domain: 56.46 ns (cd _build/default/bench && ./main.exe -brief Picos_mpscq) Picos_mpscq: messages over time/1 nb adder, 1 nb taker: 43.79 M/s messages over time/2 nb adders, 1 nb taker: 36.51 M/s messages over time/4 nb adders, 1 nb taker: 24.60 M/s messages over time/one domain: 21.77 M/s time per message/1 nb adder, 1 nb taker: 45.67 ns time per message/2 nb adders, 1 nb taker: 82.16 ns time per message/4 nb adders, 1 nb taker: 203.26 ns time per message/one domain: 45.94 ns (cd _build/default/bench && ./main.exe -brief Picos_htbl) Picos_htbl: operations over time/1 worker, 10% reads: 6.02 M/s operations over time/1 worker, 50% reads: 14.70 M/s operations over time/1 worker, 90% reads: 13.71 M/s operations over time/2 workers, 10% reads: 13.05 M/s operations over time/2 workers, 50% reads: 17.52 M/s operations over time/2 workers, 90% reads: 25.81 M/s operations over time/4 workers, 10% reads: 16.11 M/s operations over time/4 workers, 50% reads: 18.32 M/s operations over time/4 workers, 90% reads: 40.88 M/s operations over time/8 workers, 10% reads: 15.82 M/s operations over time/8 workers, 50% reads: 23.08 M/s operations over time/8 workers, 90% reads: 38.95 M/s time per operation/1 worker, 10% reads: 166.15 ns time per operation/1 worker, 50% reads: 68.01 ns time per operation/1 worker, 90% reads: 72.92 ns time per operation/2 workers, 10% reads: 153.29 ns time per operation/2 workers, 50% reads: 114.13 ns time per operation/2 workers, 90% reads: 77.48 ns time per operation/4 workers, 10% reads: 248.32 ns time per operation/4 workers, 50% reads: 218.33 ns time per operation/4 workers, 90% reads: 97.84 ns time per operation/8 workers, 10% reads: 505.63 ns time per operation/8 workers, 50% reads: 346.69 ns time per operation/8 workers, 90% reads: 205.37 ns (cd _build/default/bench && ./main.exe -brief Picos_stdio) Picos_stdio: blocking reads over time/1 worker: 0.06 M/s blocking reads over time/2 workers: 0.13 M/s blocking reads over time/4 workers: 0.26 M/s non-blocking reads over time/1 worker: 0.63 M/s non-blocking reads over time/2 workers: 1.20 M/s non-blocking reads over time/4 workers: 1.99 M/s time per blocking read/1 worker: 15451.39 ns time per blocking read/2 workers: 15318.86 ns time per blocking read/4 workers: 15427.55 ns time per non-blocking read/1 worker: 1587.69 ns time per non-blocking read/2 workers: 1668.48 ns time per non-blocking read/4 workers: 2010.61 ns (cd _build/default/bench && ./main.exe -brief 'Picos_sync Ch') Picos_sync Ch: messages over time/1 giver, 1 taker: 0.92 M/s messages over time/1 giver, 2 takers: 0.97 M/s messages over time/1 giver, 4 takers: 1.60 M/s messages over time/2 givers, 1 taker: 1.47 M/s messages over time/2 givers, 2 takers: 2.10 M/s messages over time/2 givers, 4 takers: 1.57 M/s messages over time/4 givers, 1 taker: 1.52 M/s messages over time/4 givers, 2 takers: 1.59 M/s messages over time/4 givers, 4 takers: 0.90 M/s messages over time/one domain: 1.72 M/s time per message/1 giver, 1 taker: 2165.50 ns time per message/1 giver, 2 takers: 3083.92 ns time per message/1 giver, 4 takers: 3124.08 ns time per message/2 givers, 1 taker: 2045.02 ns time per message/2 givers, 2 takers: 1903.97 ns time per message/2 givers, 4 takers: 3830.00 ns time per message/4 givers, 1 taker: 3288.86 ns time per message/4 givers, 2 takers: 3779.85 ns time per message/4 givers, 4 takers: 8863.15 ns time per message/one domain: 579.75 ns (cd _build/default/bench && ./main.exe -brief 'Picos_sync Stream') Picos_sync Stream: messages over time/1 nb pusher, 1 nb reader: 4.00 M/s messages over time/2 nb pushers, 1 nb reader: 3.00 M/s messages over time/4 nb pushers, 1 nb reader: 2.62 M/s messages over time/one domain: 2.85 M/s time per message/1 nb pusher, 1 nb reader: 500.55 ns time per message/2 nb pushers, 1 nb reader: 998.94 ns time per message/4 nb pushers, 1 nb reader: 1911.74 ns time per message/one domain: 350.77 ns (cd _build/default/bench && ./main.exe -brief Fib) Fib: spawns over time/1 mfifo, fib 20: 0.47 M/s spawns over time/1 rando, fib 20: 0.21 M/s spawns over time/2 mfifos, fib 20: 0.76 M/s spawns over time/2 randos, fib 20: 0.26 M/s spawns over time/4 mfifos, fib 20: 0.25 M/s spawns over time/4 randos, fib 20: 0.05 M/s spawns over time/8 mfifos, fib 20: 0.22 M/s spawns over time/8 randos, fib 20: 0.01 M/s time per spawn/1 mfifo, fib 20: 2106.13 ns time per spawn/1 rando, fib 20: 4676.31 ns time per spawn/2 mfifos, fib 20: 2634.06 ns time per spawn/2 randos, fib 20: 7597.87 ns time per spawn/4 mfifos, fib 20: 16130.33 ns time per spawn/4 randos, fib 20: 80819.96 ns time per spawn/8 mfifos, fib 20: 36843.01 ns time per spawn/8 randos, fib 20: 671449.23 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: 53.44 kB binary size/picos_aux.mpmcq: 17.16 kB binary size/picos_aux.mpscq: 20.56 kB binary size/picos_aux.rc: 20.31 kB binary size/picos_io: 116.27 kB binary size/picos_io.fd: 10.81 kB binary size/picos_io.select: 65.20 kB binary size/picos_io_cohttp: 48.60 kB binary size/picos_lwt: 30.12 kB binary size/picos_lwt.unix: 16.19 kB binary size/picos_mux.fifo: 30.43 kB binary size/picos_mux.multififo: 65.18 kB binary size/picos_mux.random: 53.14 kB binary size/picos_mux.thread: 26.63 kB binary size/picos_std.awaitable: 36.07 kB binary size/picos_std.event: 26.29 kB binary size/picos_std.finally: 20.88 kB binary size/picos_std.structured: 90.54 kB binary size/picos_std.sync: 161.60 kB (cd _build/default/bench && ./main.exe -brief 'Bounded_q with Picos_sync') Bounded_q with Picos_sync: messages over time/1 adder, 1 taker: 4.06 M/s messages over time/1 adder, 2 takers: 0.28 M/s messages over time/1 adder, 4 takers: 2.95 M/s messages over time/2 adders, 1 taker: 0.70 M/s messages over time/2 adders, 2 takers: 0.36 M/s messages over time/2 adders, 4 takers: 0.06 M/s messages over time/4 adders, 1 taker: 6.23 M/s messages over time/4 adders, 2 takers: 0.23 M/s messages over time/4 adders, 4 takers: 0.09 M/s messages over time/one domain: 5.10 M/s time per message/1 adder, 1 taker: 496.62 ns time per message/1 adder, 2 takers: 10904.54 ns time per message/1 adder, 4 takers: 1693.73 ns time per message/2 adders, 1 taker: 4268.40 ns time per message/2 adders, 2 takers: 10996.24 ns time per message/2 adders, 4 takers: 106559.62 ns time per message/4 adders, 1 taker: 802.03 ns time per message/4 adders, 2 takers: 25769.49 ns time per message/4 adders, 4 takers: 91977.76 ns time per message/one domain: 195.95 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: 280.00 B stack and heap used/join_after flock: 280.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 2024-10-31 15:16.14 ---> saved as "e2a89086838bfb91877367fb9c54895f45cf5970457efff48ae0886e515a8eea" Job succeeded 2024-10-31 15:16.14: Job succeeded