2024-11-27 13:08.17: New job: test ocaml-multicore/picos https://github.com/ocaml-multicore/picos.git#refs/heads/upgrade-to-cohttp-6 (4507fa3328207a7fb8ac96de82c52f4d36eec27f) (freebsd-x86_64:freebsd-14.1-5.2_opam-2.3) Base: freebsd-14.1-ocaml-5.2 Opam project build To reproduce locally: git clone --recursive "https://github.com/ocaml-multicore/picos.git" -b "upgrade-to-cohttp-6" && cd "picos" && git reset --hard 4507fa33 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM freebsd-14.1-ocaml-5.2 # freebsd-14.1-5.2_opam-2.3 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/local/bin/opam-2.3 /usr/local/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 4be9b449095ce6d71bb164c7f7d2a397f2968847 || git fetch origin master) && git reset -q --hard 4be9b449095ce6d71bb164c7f7d2a397f2968847 && 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 cohttp-lwt.6.0.0 cohttp-lwt-unix.6.0.0 conduit.7.1.0 conduit-lwt.7.1.0 conduit-lwt-unix.7.1.0 conf-gmp.4 conf-gmp-powm-sec.3 conf-npm.1 conf-pkg-config.3 containers.3.15 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.1 dune-configurator.3.16.1 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 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.9.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 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.7.1 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 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 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.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 2024-11-27 13:08.17: Using cache hint "ocaml-multicore/picos-freebsd-14.1-ocaml-5.2-freebsd-14.1-5.2_opam-2.3-892f18652ff7faae8b15e37d4b9f6675" 2024-11-27 13:08.17: Using OBuilder spec: ((from freebsd-14.1-ocaml-5.2) (comment freebsd-14.1-5.2_opam-2.3) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (workdir /src) (run (shell "sudo ln -f /usr/local/bin/opam-2.3 /usr/local/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 4be9b449095ce6d71bb164c7f7d2a397f2968847 || git fetch origin master) && git reset -q --hard 4be9b449095ce6d71bb164c7f7d2a397f2968847 && 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 cohttp-lwt.6.0.0 cohttp-lwt-unix.6.0.0 conduit.7.1.0 conduit-lwt.7.1.0 conduit-lwt-unix.7.1.0 conf-gmp.4 conf-gmp-powm-sec.3 conf-npm.1 conf-pkg-config.3 containers.3.15 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.1 dune-configurator.3.16.1 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 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.9.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 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.7.1 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 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 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.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")) ) 2024-11-27 13:08.17: Waiting for resource in pool OCluster 2024-11-27 13:08.17: Waiting for worker… 2024-11-27 13:11.53: Got resource from pool OCluster Building on summer HEAD is now at 89added Tweaks to reduce space usage HEAD is now at 4507fa3 Upgrade to cohttp 6.0.0 (from freebsd-14.1-ocaml-5.2) 2024-11-27 13:01.05 ---> using "b360337939d1644dc8204948bb9f9914639142fcc456a4d40869d01f582b410d" from cache /: (comment freebsd-14.1-5.2_opam-2.3) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (workdir /src) /src: (run (shell "sudo ln -f /usr/local/bin/opam-2.3 /usr/local/bin/opam")) 2024-11-27 13:01.06 ---> using "ac6a8e53c6a5d1febaa73a40a2a29987a33e29d91e524c6665af92723cb99de9" from cache /src: (run (shell "opam init --reinit -ni")) No configuration file found, using 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 version of opam requires an update to the layout of /home/opam/.opam from version 2.1 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 1 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=1 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] no changes from git+file:///home/opam/opam-repository 2024-11-27 13:01.06 ---> using "b87241ae74f21a568ed56e39cf4bc3a2162f2ccf12ae04beb7a59fae0c6ad0f4" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) FreeBSD 14.1-RELEASE-p5 The OCaml toplevel, version 5.2.0 2.3.0 2024-11-27 13:01.07 ---> using "ccfe7de98cb2ca95bb2fb24fb9b452db076473e62582d2f18508a506b3873aeb" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2024-11-27 13:01.07 ---> using "3aa38c608cf884b6eb35c0bfaf45886f64d08db7de724bafee2d1fcd0ed410ea" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 4be9b449095ce6d71bb164c7f7d2a397f2968847 || git fetch origin master) && git reset -q --hard 4be9b449095ce6d71bb164c7f7d2a397f2968847 && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD a6cd5e9297..9d42b7886a master -> origin/master 4be9b44909 Merge pull request #26925 from avsm/release-cohttp-v6.0.0 <><> 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). The following packages are not being upgraded because the new versions conflict with other installed packages: - ocaml.5.4.0 However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages. Nothing to do. 2024-11-27 13:01.07 ---> using "752d4e09bbaeeaebbf8c524422b249b35979e0a459ac36de14c0ee7330ee4ff0" 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 ./)) 2024-11-27 13:01.08 ---> using "3787d01c5dae52c032e8e6fee8591b58dae27ec1ca8744193daede3360dcbc15" 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) 2024-11-27 13:01.08 ---> using "a0491bd293fe70385302ee61130ce2917da9a10083d1cbd5535cbe7fcfa1b871" from cache /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 cohttp-lwt.6.0.0 cohttp-lwt-unix.6.0.0 conduit.7.1.0 conduit-lwt.7.1.0 conduit-lwt-unix.7.1.0 conf-gmp.4 conf-gmp-powm-sec.3 conf-npm.1 conf-pkg-config.3 containers.3.15 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.1 dune-configurator.3.16.1 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 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.9.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 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.7.1 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 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 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.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")) [WARNING] Unknown update command for bsd, skipping system update <><> 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: ca_root_nss gmp npm <><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><> + /usr/local/bin/sudo "pkg" "install" "-y" "ca_root_nss" "gmp" "npm" - Updating FreeBSD repository catalogue... - [summer] Fetching data.pkg: ... - ....... done - Processing entries: . - .. - .. - .. - . - .. done - FreeBSD repository update completed. 35521 packages processed. - All repositories are up to date. - The following 9 package(s) will be affected (of 0 checked): - - New packages to be INSTALLED: - brotli: 1.1.0,1 - c-ares: 1.33.1 - ca_root_nss: 3.104 - gmp: 6.3.0 - icu: 74.2_1,1 - libuv: 1.49.0 - node20: 20.17.0 - npm: 10.8.3 - npm-node20: 10.8.3 - - Number of packages to be installed: 9 - - The process will require 112 MiB more space. - 26 MiB to be downloaded. - [summer] [1/9] Fetching c-ares-1.33.1.pkg: .......... done - [summer] [2/9] Fetching npm-node20-10.8.3.pkg: ..... - ..... done - [summer] [3/9] Fetching icu-74.2_1,1.pkg: . - ... - ... - ... done - [summer] [4/9] Fetching libuv-1.49.0.pkg: .. - ....... done - [summer] [5/9] Fetching gmp-6.3.0.pkg: ......... done - [summer] [6/9] Fetching npm-10.8.3.pkg: . done - [summer] [7/9] Fetching brotli-1.1.0,1.pkg: .......... done - [summer] [8/9] Fetching ca_root_nss-3.104.pkg: ......... done - [summer] [9/9] Fetching node20-20.17.0.pkg: - .... - ..... - . done - Checking integrity... done (0 conflicting) - [summer] [1/9] Installing c-ares-1.33.1... - [summer] [1/9] Extracting c-ares-1.33.1: .......... done - [summer] [2/9] Installing icu-74.2_1,1... - [summer] [2/9] Extracting icu-74.2_1,1: .......... done - [summer] [3/9] Installing libuv-1.49.0... - [summer] [3/9] Extracting libuv-1.49.0: .......... done - [summer] [4/9] Installing brotli-1.1.0,1... - [summer] [4/9] Extracting brotli-1.1.0,1: .......... done - [summer] [5/9] Installing ca_root_nss-3.104... - [summer] [5/9] Extracting ca_root_nss-3.104: ....... done - Scanning /usr/share/certs/untrusted for certificates... - Scanning /usr/share/certs/trusted for certificates... - Scanning /usr/local/share/certs for certificates... - [summer] [6/9] Installing node20-20.17.0... - [summer] [6/9] Extracting node20-20.17.0: .......... done - [summer] [7/9] Installing npm-node20-10.8.3... - [summer] [7/9] Extracting npm-node20-10.8.3: .......... done - [summer] [8/9] Installing gmp-6.3.0... - [summer] [8/9] Extracting gmp-6.3.0: .......... done - [summer] [9/9] Installing npm-10.8.3... - [summer] [9/9] Extracting npm-10.8.3: ... done - ===== - Message from ca_root_nss-3.104: - - -- - FreeBSD does not, and can not warrant that the certification authorities - whose certificates are included in this package have in any way been - audited for trustworthiness or RFC 3647 compliance. - - Assessment and verification of trust is the complete responsibility of - the system administrator. - - This package installs symlinks to support root certificate discovery - for software that either uses other cryptographic libraries than - OpenSSL, or use OpenSSL but do not follow recommended practice. - - If you prefer to do this manually, replace the following symlinks with - either an empty file or your site-local certificate bundle. - - * /etc/ssl/cert.pem - * /usr/local/etc/ssl/cert.pem - * /usr/local/openssl/cert.pem - ===== - Message from node20-20.17.0: - - -- - Note: If you need npm (Node Package Manager), please install www/npm. 2024-11-27 13:01.09 ---> using "b1375a3f61caf2cd988f94b730322edd5ed576c89a2e01d76aff690d22a63ccd" 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-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 99 packages ∗ 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-bytes 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 ∗ cohttp-lwt 6.0.0 ∗ cohttp-lwt-unix 6.0.0 ∗ conduit 7.1.0 ∗ conduit-lwt 7.1.0 ∗ conduit-lwt-unix 7.1.0 ∗ conf-gmp 4 ∗ conf-gmp-powm-sec 3 ∗ conf-npm 1 ∗ conf-pkg-config 3 ∗ containers 3.15 ∗ 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.1 ∗ dune-configurator 3.16.1 ∗ 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 ∗ http 6.0.0 ∗ 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.9.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 ∗ ocaml-compiler-libs v0.17.0 ∗ ocaml-syntax-shims 1.0.0 ∗ ocaml-version 3.7.1 ∗ 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 ∗ 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 ∗ 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 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> ⬇ retrieved angstrom.0.16.1 (cached) ⬇ retrieved asn1-combinators.0.3.2 (cached) ⬇ retrieved backoff.0.1.1 (cached) ⬇ retrieved astring.0.8.5 (cached) ⬇ retrieved alcotest.1.8.0 (cached) ⬇ retrieved base64.3.5.1 (cached) ⬇ retrieved bigstringaf.0.10.0 (cached) ⬇ retrieved base.v0.17.1 (cached) ⬇ retrieved ca-certs.1.0.0 (cached) ⬇ retrieved bos.0.2.1 (cached) ⬇ retrieved cmdliner.1.3.0 (cached) ⬇ retrieved camlp-streams.5.0.1 (cached) ⬇ retrieved conf-gmp.4 (cached) ⬇ retrieved conf-gmp-powm-sec.3 (cached) ⬇ retrieved conduit.7.1.0, conduit-lwt.7.1.0, conduit-lwt-unix.7.1.0 (cached) ∗ installed conf-pkg-config.3 ⬇ retrieved cppo.1.7.0 (cached) ∗ installed conf-gmp.4 ⬇ retrieved cohttp.6.0.0, cohttp-lwt.6.0.0, cohttp-lwt-unix.6.0.0, http.6.0.0 (cached) ∗ installed conf-gmp-powm-sec.3 ⬇ retrieved csexp.1.5.2 (cached) ∗ installed conf-npm.1 ⬇ retrieved containers.3.15 (cached) ⬇ retrieved domain-local-await.1.0.1 (cached) ⬇ retrieved domain-name.0.4.0 (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.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.9.0 (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 js_of_ocaml.5.8.2, js_of_ocaml-compiler.5.8.2 (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 mtime.2.1.0 (cached) ⬇ retrieved multicore-bench.0.1.7 (cached) ⬇ retrieved dune.3.16.1, dune-configurator.3.16.1 (cached) ⬇ retrieved ocaml-syntax-shims.1.0.0 (cached) ⬇ retrieved ocaml-compiler-libs.v0.17.0 (cached) ⬇ retrieved ocaml-version.3.7.1 (cached) ⬇ retrieved ocaml_intrinsics_kernel.v0.17.1 (cached) ⬇ retrieved ocamlbuild.0.15.0 (cached) ⬇ retrieved ocplib-endian.1.2 (cached) ⬇ retrieved ocamlfind.1.9.6 (cached) ⬇ retrieved oseq.0.5.1 (cached) ⬇ retrieved ohex.0.2.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 multicore-magic.2.3.0, multicore-magic-dscheck.2.3.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 re.1.12.0 (cached) ⬇ retrieved result.1.5 (cached) ⬇ retrieved rresult.0.7.0 (cached) ⬇ retrieved seq.base (cached) ∗ installed seq.base ⬇ retrieved sedlex.3.3 (cached) ⬇ retrieved sexplib0.v0.17.0 (cached) ⬇ retrieved stringext.1.6.0 (cached) ⬇ retrieved stdlib-shims.0.3.0 (cached) ⬇ retrieved thread-local-storage.0.2 (cached) ⬇ retrieved thread-table.1.0.0 (cached) ⬇ retrieved ppxlib.0.33.0 (cached) ⬇ retrieved tsort.2.1.0 (cached) ⬇ retrieved uri.4.4.0, uri-sexp.4.4.0 (cached) ⬇ retrieved uutf.1.0.3 (cached) ⬇ retrieved x509.1.0.5 (cached) ⬇ retrieved topkg.1.0.7 (cached) ⬇ retrieved zarith.1.14 (cached) ⬇ retrieved yojson.2.2.2 (cached) ∗ installed cmdliner.1.3.0 ∗ installed ocamlfind.1.9.6 ∗ installed base-bytes.base ∗ installed zarith.1.14 ∗ installed ocamlbuild.0.15.0 ∗ installed topkg.1.0.7 ∗ installed rresult.0.7.0 ∗ installed uutf.1.0.3 ∗ installed mtime.2.1.0 ∗ installed ptime.1.2.0 ∗ installed fmt.0.9.0 ∗ installed astring.0.8.5 ∗ installed fpath.0.7.3 ∗ installed dune.3.16.1 ∗ installed backoff.0.1.1 ∗ installed csexp.1.5.2 ∗ installed domain_shims.0.1.0 ∗ installed menhirCST.20240715 ∗ installed magic-mime.1.3.1 ∗ installed macaddr.5.6.0 ∗ installed http.6.0.0 ∗ installed gmap.0.3.0 ∗ installed gen.1.1 ∗ installed eqaf.0.10 ∗ installed either.1.0.0 ∗ installed duration.0.2.1 ∗ installed domain-name.0.4.0 ∗ installed cppo.1.7.0 ∗ installed camlp-streams.5.0.1 ∗ installed base64.3.5.1 ∗ installed asn1-combinators.0.3.2 ∗ installed ocaml-version.3.7.1 ∗ installed ppx_derivers.1.2.1 ∗ installed ohex.0.2.0 ∗ installed menhirSdk.20240715 ∗ installed ocplib-endian.1.2 ∗ installed psq.0.2.1 ∗ installed menhirLib.20240715 ∗ installed ocaml-syntax-shims.1.0.0 ∗ installed result.1.5 ∗ installed oseq.0.5.1 ∗ installed multicore-magic.2.3.0 ∗ installed stdlib-shims.0.3.0 ∗ installed ipaddr.5.6.0 ∗ installed ocaml-compiler-libs.v0.17.0 ∗ installed stringext.1.6.0 ∗ installed ocaml_intrinsics_kernel.v0.17.1 ∗ installed thread-local-storage.0.2 ∗ installed sexplib0.v0.17.0 ∗ installed tsort.2.1.0 ∗ installed thread-table.1.0.0 ∗ installed dune-configurator.3.16.1 ∗ installed digestif.1.2.0 ∗ installed re.1.12.0 ∗ installed domain-local-await.1.0.1 ∗ installed qcheck-core.0.22 ∗ installed bigstringaf.0.10.0 ∗ installed yojson.2.2.2 ∗ installed qcheck-multicoretests-util.0.4 ∗ installed angstrom.0.16.1 ∗ installed multicore-bench.0.1.7 ∗ installed qcheck-stm.0.4 ∗ installed alcotest.1.8.0 ∗ installed mirage-crypto.1.1.0 ∗ installed containers.3.15 ∗ installed kdf.1.0.0 ∗ installed dscheck.0.5.0 ∗ installed multicore-magic-dscheck.2.3.0 ∗ installed uri.4.4.0 ∗ installed lwt.5.9.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 uri-sexp.4.4.0 ∗ installed ipaddr-sexp.5.6.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 conduit.7.1.0 ∗ installed mirage-crypto-pk.1.1.0 ∗ installed conduit-lwt.7.1.0 ∗ installed cohttp.6.0.0 ∗ installed bos.0.2.1 ∗ installed mdx.2.4.1 ∗ installed cohttp-lwt.6.0.0 ∗ installed mirage-crypto-ec.1.1.0 ∗ installed x509.1.0.5 ∗ installed ca-certs.1.0.0 ∗ installed conduit-lwt-unix.7.1.0 ∗ installed cohttp-lwt-unix.6.0.0 Done. 2024-11-27 13:01.09 ---> using "c18a9461f6c86d1b02da1c9d95d82831b84de7d18374e40591930e989c2a1034" from cache /src: (copy (src .) (dst /src)) 2024-11-27 13:01.11 ---> saved as "25e4a05b2bc32f185ea89f83d06fc101710405ff6988e4d8b558ac0cf7bc0208" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) (cd _build/default/bench && ./main.exe -brief 'Picos Computation') Picos Computation: attach detach pairs over time/1 worker: 0.90 M/s attach detach pairs over time/2 workers: 0.98 M/s attach detach pairs over time/4 workers: 0.40 M/s attach detach pairs over time/trivial: 2.24 M/s time per attach detach pair/1 worker: 1113.40 ns time per attach detach pair/2 workers: 2031.80 ns time per attach detach pair/4 workers: 9936.46 ns time per attach detach pair/trivial: 446.04 ns (cd _build/default/bench && ./main.exe -brief 'Picos Current') Picos Current: ops over time/1 worker: 18.86 M/s ops over time/2 workers: 28.70 M/s ops over time/4 workers: 8.83 M/s time per op/1 worker: 53.02 ns time per op/2 workers: 69.69 ns time per op/4 workers: 453.08 ns (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 content-length: 0 Body: (cd _build/default/test && ./test_lwt_unix.exe) Testing `Picos_lwt'. This run has ID `YZA1PFLC'. [OK] Basics 0 Full test results in `/src/_build/default/test/_build/_tests/Picos_lwt'. Test Successful in 0.074s. 1 test run. (cd _build/default/test && ./test_server_and_client.exe) Using blocking sockets and fibers on OCaml 5: Recursive server running Server listening Server accepting Client A running Client A connected Client A wrote 100 Server accepted client Server read 100 Server wrote 50 Server accepting Client B running Client A read 50 Client B connected Client B wrote 100 Server accepted client Server accepting Server read 100 Server wrote 50 Client B read 50 Server and Client test: OK (cd _build/default/test && ./test_select.exe) Testing `Picos_select'. This run has ID `C4LK8QXQ'. [OK] Intr 0 Full test results in `/src/_build/default/test/_build/_tests/Picos_select'. Test Successful in 12.291s. 1 test run. (cd _build/default/test && ./test_io.exe) Testing `Picos_io'. This run has ID `WJB95H5J'. [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.555s. 6 tests run. (cd _build/default/test && ./test_finally.exe) Testing `Picos_finally'. This run has ID `QYJMTP1O'. [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.022s. 2 tests run. (cd _build/default/test && ./test_sync.exe -- Event 0) Testing `Picos_sync'. This run has ID `ZFHY974Z'. [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] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.133s. 1 test run. (cd _build/default/test && /usr/local/bin/node test_js_of_ocaml.bc.js) Hello, from js_of_ocaml with Picos! (cd _build/default/test && ./test_structured.exe) Testing `Picos_structured'. This run has ID `CASWLC27'. [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.590s. 14 tests run. (cd _build/default/test && ./test_io_with_lwt.exe) Testing `Picos_io_with_lwt'. This run has ID `448C53H7'. [OK] Unix 0 system. Full test results in `/src/_build/default/test/_build/_tests/Picos_io_with_lwt'. Test Successful in 2.067s. 1 test run. (cd _build/default/test && ./test_sync.exe -- Lazy 0) Testing `Picos_sync'. This run has ID `4EUTJCVJ'. [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] 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_sync.exe -- Lazy 1) Testing `Picos_sync'. This run has ID `WTU283EY'. [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] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.020s. 1 test run. (cd _build/default/test && ./test_sync.exe -- Semaphore 0) Testing `Picos_sync'. This run has ID `JKOGHG7I'. [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] 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 1) Testing `Picos_sync'. This run has ID `4YGLF9CV'. [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] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.156s. 1 test run. (cd _build/default/test && ./test_sync.exe -- 'Non-cancelable ops' 0) Testing `Picos_sync'. This run has ID `L2II1QBG'. [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] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.065s. 1 test run. (cd _build/default/test && ./test_sync.exe -- 'Mutex and Condition' 0) Testing `Picos_sync'. This run has ID `M0FJ8QOS'. [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] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.022s. 1 test run. (cd _build/default/test && ./test_sync.exe -- 'Mutex and Condition' 1) Testing `Picos_sync'. This run has ID `MZ8PDUKR'. [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] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 0.052s. 1 test run. (cd _build/default/test && ./test_picos_dscheck.exe) Testing `Picos DSCheck'. This run has ID `E24ZWDBI'. [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 1.514s. 3 tests run. (cd _build/default/bench && ./main.exe -brief 'Picos FLS (excluding Current)') Picos FLS (excluding Current): gets over time/1 worker: 89.90 M/s gets over time/2 workers: 148.78 M/s gets over time/4 workers: 116.28 M/s sets over time/1 worker: 65.62 M/s sets over time/2 workers: 99.35 M/s sets over time/4 workers: 40.14 M/s time per get/1 worker: 11.12 ns time per get/2 workers: 13.44 ns time per get/4 workers: 34.40 ns time per set/1 worker: 15.24 ns time per set/2 workers: 20.13 ns time per set/4 workers: 99.65 ns (cd _build/default/test && ./test_mpmcq_dscheck.exe) Testing `Picos_mpmcq DSCheck'. This run has ID `LOWXX8HX'. [OK] Multiple pushes and pops 0 Full test results in `/src/_build/default/test/_build/_tests/Picos_mpmcq DSCheck'. Test Successful in 6.005s. 1 test run. (cd _build/default/test && ./test_io_cohttp.exe) Uri: //127.0.0.1:59082/hello-io-cohttp Method: POST host: 127.0.0.1:59082 user-agent: ocaml-cohttp/v6.0.0 content-length: 17 Body: It's-a-Me, Picos! (cd _build/default/test && ./test_sync.exe -- 'Mutex and Condition' 2) Testing `Picos_sync'. This run has ID `VF8HPH83'. [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] Non-cancelable ops 0 are not canceled. Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'. Test Successful in 4.646s. 1 test run. (cd _build/default/bench && ./main.exe -brief 'Picos TLS') Picos TLS: gets over time/1 worker: 62.64 M/s gets over time/2 workers: 120.38 M/s gets over time/4 workers: 156.86 M/s sets over time/1 worker: 32.65 M/s sets over time/2 workers: 55.69 M/s sets over time/4 workers: 95.63 M/s time per get/1 worker: 15.96 ns time per get/2 workers: 16.61 ns time per get/4 workers: 25.50 ns time per set/1 worker: 30.63 ns time per set/2 workers: 35.92 ns time per set/4 workers: 41.83 ns (cd _build/default/bench && ./main.exe -brief 'Picos DLS') Picos DLS: gets over time/1 worker: 48.53 M/s gets over time/2 workers: 111.47 M/s gets over time/4 workers: 249.65 M/s sets over time/1 worker: 38.87 M/s sets over time/2 workers: 81.12 M/s sets over time/4 workers: 71.62 M/s time per get/1 worker: 20.60 ns time per get/2 workers: 17.94 ns time per get/4 workers: 16.02 ns time per set/1 worker: 25.72 ns time per set/2 workers: 24.65 ns time per set/4 workers: 55.85 ns (cd _build/default/bench && ./main.exe -brief 'Picos Mutex') Picos Mutex: locked yields over time/1024 fibers: 0.12 M/s locked yields over time/1 fiber: 0.70 M/s locked yields over time/256 fibers: 0.14 M/s locked yields over time/2 domains: 0.19 M/s locked yields over time/2 fibers: 0.82 M/s locked yields over time/4 domains: 0.02 M/s locked yields over time/4 fibers: 0.17 M/s locked yields over time/512 fibers: 0.13 M/s locked yields over time/8 domains: 0.00 M/s locked yields over time/8 fibers: 0.21 M/s time per locked yield/1024 fibers: 8551.22 ns time per locked yield/1 fiber: 1429.82 ns time per locked yield/256 fibers: 7083.96 ns time per locked yield/2 domains: 10620.27 ns time per locked yield/2 fibers: 1212.22 ns time per locked yield/4 domains: 233176.75 ns time per locked yield/4 fibers: 5879.23 ns time per locked yield/512 fibers: 7521.43 ns time per locked yield/8 domains: 6947534.53 ns time per locked yield/8 fibers: 4874.88 ns (cd _build/default/test && ./test_htbl.exe) random seed: 3224633979198352078 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.4s Htbl parallel [ ] 2 0 0 2 / 32 2.3s Htbl parallel [ ] 3 0 0 3 / 32 3.8s Htbl parallel [ ] 4 0 0 4 / 32 4.8s Htbl parallel [ ] 5 0 0 5 / 32 5.7s Htbl parallel [ ] 6 0 0 6 / 32 6.8s Htbl parallel [ ] 7 0 0 7 / 32 8.0s Htbl parallel [ ] 8 0 0 8 / 32 8.5s Htbl parallel [ ] 9 0 0 9 / 32 9.1s Htbl parallel [ ] 10 0 0 10 / 32 9.7s Htbl parallel [ ] 11 0 0 11 / 32 10.2s Htbl parallel [ ] 12 0 0 12 / 32 11.0s Htbl parallel [ ] 13 0 0 13 / 32 12.0s Htbl parallel [ ] 14 0 0 14 / 32 12.8s Htbl parallel [ ] 15 0 0 15 / 32 13.3s Htbl parallel [ ] 16 0 0 16 / 32 14.2s Htbl parallel [ ] 17 0 0 17 / 32 15.0s Htbl parallel [ ] 18 0 0 18 / 32 16.1s Htbl parallel [ ] 19 0 0 19 / 32 16.9s Htbl parallel [ ] 20 0 0 20 / 32 17.6s Htbl parallel [ ] 21 0 0 21 / 32 18.4s Htbl parallel [ ] 22 0 0 22 / 32 19.3s Htbl parallel [ ] 23 0 0 23 / 32 20.4s Htbl parallel [ ] 24 0 0 24 / 32 21.3s Htbl parallel [ ] 25 0 0 25 / 32 22.2s Htbl parallel [ ] 26 0 0 26 / 32 22.8s Htbl parallel [ ] 27 0 0 27 / 32 23.4s Htbl parallel [ ] 28 0 0 28 / 32 24.0s Htbl parallel [ ] 29 0 0 29 / 32 24.6s Htbl parallel [ ] 30 0 0 30 / 32 25.1s Htbl parallel [ ] 31 0 0 31 / 32 25.8s Htbl parallel [ ] 32 0 0 32 / 32 26.6s Htbl parallel [✓] 32 0 0 32 / 32 26.6s Htbl parallel ================================================================================ success (ran 2 tests) random seed: 4417115940190984984 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 1.1s Htbl parallel [ ] 2 0 0 2 / 40 1.9s Htbl parallel [ ] 3 0 0 3 / 40 3.0s Htbl parallel [ ] 4 0 0 4 / 40 4.0s Htbl parallel [ ] 5 0 0 5 / 40 4.8s Htbl parallel [ ] 6 0 0 6 / 40 5.8s Htbl parallel [ ] 7 0 0 7 / 40 6.7s Htbl parallel [ ] 8 0 0 8 / 40 7.9s Htbl parallel [ ] 9 0 0 9 / 40 8.9s Htbl parallel [ ] 10 0 0 10 / 40 10.3s Htbl parallel [ ] 11 0 0 11 / 40 11.4s Htbl parallel [ ] 12 0 0 12 / 40 12.0s Htbl parallel [ ] 13 0 0 13 / 40 12.8s Htbl parallel [ ] 14 0 0 14 / 40 14.1s Htbl parallel [ ] 15 0 0 15 / 40 14.9s Htbl parallel [ ] 16 0 0 16 / 40 16.0s Htbl parallel [ ] 17 0 0 17 / 40 17.1s Htbl parallel [ ] 18 0 0 18 / 40 18.2s Htbl parallel [ ] 19 0 0 19 / 40 19.1s Htbl parallel [ ] 20 0 0 20 / 40 20.4s Htbl parallel [ ] 21 0 0 21 / 40 21.2s Htbl parallel [ ] 22 0 0 22 / 40 22.1s Htbl parallel [ ] 23 0 0 23 / 40 23.1s Htbl parallel [ ] 24 0 0 24 / 40 24.1s Htbl parallel [ ] 25 0 0 25 / 40 24.9s Htbl parallel [ ] 26 0 0 26 / 40 25.4s Htbl parallel [ ] 27 0 0 27 / 40 26.1s Htbl parallel [ ] 28 0 0 28 / 40 26.7s Htbl parallel [ ] 29 0 0 29 / 40 27.2s Htbl parallel [ ] 30 0 0 30 / 40 28.1s Htbl parallel [ ] 31 0 0 31 / 40 29.2s Htbl parallel [ ] 32 0 0 32 / 40 30.1s Htbl parallel [ ] 33 0 0 33 / 40 31.2s Htbl parallel [ ] 34 0 0 34 / 40 32.0s Htbl parallel [ ] 35 0 0 35 / 40 33.0s Htbl parallel [ ] 36 0 0 36 / 40 33.8s Htbl parallel [ ] 37 0 0 37 / 40 34.3s Htbl parallel [ ] 38 0 0 38 / 40 34.8s Htbl parallel [ ] 39 0 0 39 / 40 35.5s Htbl parallel [ ] 40 0 0 40 / 40 36.0s Htbl parallel [✓] 40 0 0 40 / 40 36.0s Htbl parallel ================================================================================ success (ran 2 tests) (cd _build/default/test && ./test_picos.exe) Testing `Picos'. This run has ID `XZTDWP80'. [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.225s. 7 tests run. (cd _build/default/test && ./test_schedulers.exe) Testing `Picos schedulers'. This run has ID `DPQ4FQS3'. [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 61.881s. 8 tests run. (cd _build/default/test && ./test_mpmcq.exe) random seed: 1519942851089552568 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.8s Mpmcq parallel [ ] 2 0 0 2 / 32 3.2s Mpmcq parallel [ ] 3 0 0 3 / 32 5.0s Mpmcq parallel [ ] 4 0 0 4 / 32 5.9s Mpmcq parallel [ ] 5 0 0 5 / 32 7.0s Mpmcq parallel [ ] 6 0 0 6 / 32 7.6s Mpmcq parallel [ ] 7 0 0 7 / 32 8.5s Mpmcq parallel [ ] 8 0 0 8 / 32 9.2s Mpmcq parallel [ ] 9 0 0 9 / 32 10.2s Mpmcq parallel [ ] 10 0 0 10 / 32 10.6s Mpmcq parallel [ ] 11 0 0 11 / 32 11.7s Mpmcq parallel [ ] 12 0 0 12 / 32 12.5s Mpmcq parallel [ ] 13 0 0 13 / 32 12.9s Mpmcq parallel [ ] 14 0 0 14 / 32 13.9s Mpmcq parallel [ ] 15 0 0 15 / 32 14.5s Mpmcq parallel [ ] 16 0 0 16 / 32 15.2s Mpmcq parallel [ ] 17 0 0 17 / 32 16.2s Mpmcq parallel [ ] 18 0 0 18 / 32 17.0s Mpmcq parallel [ ] 19 0 0 19 / 32 17.9s Mpmcq parallel [ ] 20 0 0 20 / 32 18.6s Mpmcq parallel [ ] 21 0 0 21 / 32 19.0s Mpmcq parallel [ ] 22 0 0 22 / 32 19.6s Mpmcq parallel [ ] 23 0 0 23 / 32 20.6s Mpmcq parallel [ ] 24 0 0 24 / 32 21.5s Mpmcq parallel [ ] 25 0 0 25 / 32 22.4s Mpmcq parallel [ ] 26 0 0 26 / 32 22.8s Mpmcq parallel [ ] 27 0 0 27 / 32 23.4s Mpmcq parallel [ ] 28 0 0 28 / 32 24.1s Mpmcq parallel [ ] 29 0 0 29 / 32 24.6s Mpmcq parallel [ ] 30 0 0 30 / 32 25.4s Mpmcq parallel [ ] 31 0 0 31 / 32 25.9s Mpmcq parallel [ ] 32 0 0 32 / 32 26.5s Mpmcq parallel [✓] 32 0 0 32 / 32 26.5s Mpmcq parallel ================================================================================ success (ran 2 tests) random seed: 1361231265129442360 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.9s Mpmcq parallel [ ] 2 0 0 2 / 40 1.5s Mpmcq parallel [ ] 3 0 0 3 / 40 2.3s Mpmcq parallel [ ] 4 0 0 4 / 40 3.1s Mpmcq parallel [ ] 5 0 0 5 / 40 3.6s Mpmcq parallel [ ] 6 0 0 6 / 40 4.4s Mpmcq parallel [ ] 7 0 0 7 / 40 5.3s Mpmcq parallel [ ] 8 0 0 8 / 40 6.0s Mpmcq parallel [ ] 9 0 0 9 / 40 7.0s Mpmcq parallel [ ] 10 0 0 10 / 40 7.8s Mpmcq parallel [ ] 11 0 0 11 / 40 8.7s Mpmcq parallel [ ] 12 0 0 12 / 40 9.3s Mpmcq parallel [ ] 13 0 0 13 / 40 9.7s Mpmcq parallel [ ] 14 0 0 14 / 40 10.1s Mpmcq parallel [ ] 15 0 0 15 / 40 11.1s Mpmcq parallel [ ] 16 0 0 16 / 40 11.5s Mpmcq parallel [ ] 17 0 0 17 / 40 12.2s Mpmcq parallel [ ] 18 0 0 18 / 40 13.0s Mpmcq parallel [ ] 19 0 0 19 / 40 14.3s Mpmcq parallel [ ] 20 0 0 20 / 40 14.8s Mpmcq parallel [ ] 21 0 0 21 / 40 15.8s Mpmcq parallel [ ] 22 0 0 22 / 40 17.2s Mpmcq parallel [ ] 23 0 0 23 / 40 18.0s Mpmcq parallel [ ] 24 0 0 24 / 40 18.8s Mpmcq parallel [ ] 25 0 0 25 / 40 19.7s Mpmcq parallel [ ] 26 0 0 26 / 40 20.8s Mpmcq parallel [ ] 27 0 0 27 / 40 21.4s Mpmcq parallel [ ] 28 0 0 28 / 40 22.4s Mpmcq parallel [ ] 29 0 0 29 / 40 23.2s Mpmcq parallel [ ] 30 0 0 30 / 40 24.3s Mpmcq parallel [ ] 31 0 0 31 / 40 24.8s Mpmcq parallel [ ] 32 0 0 32 / 40 25.4s Mpmcq parallel [ ] 33 0 0 33 / 40 26.1s Mpmcq parallel [ ] 34 0 0 34 / 40 26.9s Mpmcq parallel [ ] 35 0 0 35 / 40 27.6s Mpmcq parallel [ ] 36 0 0 36 / 40 28.2s Mpmcq parallel [ ] 37 0 0 37 / 40 28.7s Mpmcq parallel [ ] 38 0 0 38 / 40 29.4s Mpmcq parallel [ ] 39 0 0 39 / 40 30.3s Mpmcq parallel [ ] 40 0 0 40 / 40 30.9s Mpmcq parallel [✓] 40 0 0 40 / 40 30.9s Mpmcq parallel ================================================================================ success (ran 2 tests) random seed: 4097060930718916119 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.9s Mpmcq parallel [ ] 2 0 0 2 / 32 2.0s Mpmcq parallel [ ] 3 0 0 3 / 32 2.8s Mpmcq parallel [ ] 4 0 0 4 / 32 3.6s Mpmcq parallel [ ] 5 0 0 5 / 32 4.4s Mpmcq parallel [ ] 6 0 0 6 / 32 4.8s Mpmcq parallel [ ] 7 0 0 7 / 32 5.5s Mpmcq parallel [ ] 8 0 0 8 / 32 6.0s Mpmcq parallel [ ] 9 0 0 9 / 32 6.6s Mpmcq parallel [ ] 10 0 0 10 / 32 7.1s Mpmcq parallel [ ] 11 0 0 11 / 32 7.6s Mpmcq parallel [ ] 12 0 0 12 / 32 8.3s Mpmcq parallel [ ] 13 0 0 13 / 32 8.7s Mpmcq parallel [ ] 14 0 0 14 / 32 9.2s Mpmcq parallel [ ] 15 0 0 15 / 32 9.9s Mpmcq parallel [ ] 16 0 0 16 / 32 10.5s Mpmcq parallel [ ] 17 0 0 17 / 32 11.2s Mpmcq parallel [ ] 18 0 0 18 / 32 11.5s Mpmcq parallel [ ] 19 0 0 19 / 32 12.3s Mpmcq parallel [ ] 20 0 0 20 / 32 12.5s Mpmcq parallel [ ] 21 0 0 21 / 32 12.7s Mpmcq parallel [ ] 22 0 0 22 / 32 12.8s Mpmcq parallel [ ] 30 0 0 30 / 32 12.9s Mpmcq parallel [✓] 32 0 0 32 / 32 12.9s Mpmcq parallel ================================================================================ success (ran 2 tests) (cd _build/default/bench && ./main.exe -brief 'Picos Semaphore') Picos Semaphore: acquired yields over time/4 domains, 1 resource: 0.46 M/s acquired yields over time/4 domains, 2 resources: 0.97 M/s acquired yields over time/4 domains, 3 resources: 3.22 M/s acquired yields over time/4 domains, 4 resources: 3.84 M/s acquired yields over time/4 fibers, 1 resource: 0.20 M/s acquired yields over time/4 fibers, 2 resources: 0.33 M/s acquired yields over time/4 fibers, 3 resources: 0.82 M/s acquired yields over time/4 fibers, 4 resources: 2.02 M/s time per acquired yield/4 domains, 1 resource: 8617.09 ns time per acquired yield/4 domains, 2 resources: 4104.76 ns time per acquired yield/4 domains, 3 resources: 1243.76 ns time per acquired yield/4 domains, 4 resources: 1042.87 ns time per acquired yield/4 fibers, 1 resource: 5087.95 ns time per acquired yield/4 fibers, 2 resources: 3044.85 ns time per acquired yield/4 fibers, 3 resources: 1226.12 ns time per acquired yield/4 fibers, 4 resources: 494.22 ns (cd _build/default/bench && ./main.exe -brief 'Picos Spawn') Picos Spawn: spawns over time/with packed computation: 5.92 M/s time per spawn/with packed computation: 168.88 ns (cd _build/default/test && ./test_mpscq.exe) random seed: 714411876498443585 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.4s Mpscq parallel [ ] 2 0 0 2 / 32 3.4s Mpscq parallel [ ] 3 0 0 3 / 32 6.7s Mpscq parallel [ ] 4 0 0 4 / 32 8.6s Mpscq parallel [ ] 5 0 0 5 / 32 10.4s Mpscq parallel [ ] 6 0 0 6 / 32 11.7s Mpscq parallel [ ] 7 0 0 7 / 32 12.9s Mpscq parallel [ ] 8 0 0 8 / 32 13.8s Mpscq parallel [ ] 9 0 0 9 / 32 15.3s Mpscq parallel [ ] 10 0 0 10 / 32 16.6s Mpscq parallel [ ] 11 0 0 11 / 32 17.5s Mpscq parallel [ ] 12 0 0 12 / 32 19.1s Mpscq parallel [ ] 13 0 0 13 / 32 20.8s Mpscq parallel [ ] 14 0 0 14 / 32 22.1s Mpscq parallel [ ] 15 0 0 15 / 32 23.8s Mpscq parallel [ ] 16 0 0 16 / 32 26.0s Mpscq parallel [ ] 17 0 0 17 / 32 28.8s Mpscq parallel [ ] 18 0 0 18 / 32 30.4s Mpscq parallel [ ] 19 0 0 19 / 32 31.7s Mpscq parallel [ ] 20 0 0 20 / 32 32.9s Mpscq parallel [ ] 21 0 0 21 / 32 34.5s Mpscq parallel [ ] 22 0 0 22 / 32 35.6s Mpscq parallel [ ] 23 0 0 23 / 32 36.6s Mpscq parallel [ ] 24 0 0 24 / 32 38.1s Mpscq parallel [ ] 25 0 0 25 / 32 38.8s Mpscq parallel [ ] 26 0 0 26 / 32 39.9s Mpscq parallel [ ] 27 0 0 27 / 32 40.9s Mpscq parallel [ ] 28 0 0 28 / 32 42.8s Mpscq parallel [ ] 29 0 0 29 / 32 45.7s Mpscq parallel [ ] 30 0 0 30 / 32 47.9s Mpscq parallel [ ] 31 0 0 31 / 32 49.0s Mpscq parallel [ ] 32 0 0 32 / 32 50.6s Mpscq parallel [✓] 32 0 0 32 / 32 50.6s Mpscq parallel ================================================================================ success (ran 2 tests) random seed: 586167117025676165 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.5s Mpscq parallel [ ] 3 0 0 3 / 32 2.6s Mpscq parallel [ ] 4 0 0 4 / 32 3.6s Mpscq parallel [ ] 5 0 0 5 / 32 4.6s Mpscq parallel [ ] 6 0 0 6 / 32 5.4s Mpscq parallel [ ] 7 0 0 7 / 32 6.6s Mpscq parallel [ ] 8 0 0 8 / 32 8.0s Mpscq parallel [ ] 9 0 0 9 / 32 9.1s Mpscq parallel [ ] 10 0 0 10 / 32 10.4s Mpscq parallel [ ] 11 0 0 11 / 32 11.3s Mpscq parallel [ ] 12 0 0 12 / 32 12.4s Mpscq parallel [ ] 13 0 0 13 / 32 14.0s Mpscq parallel [ ] 14 0 0 14 / 32 15.1s Mpscq parallel [ ] 15 0 0 15 / 32 16.4s Mpscq parallel [ ] 16 0 0 16 / 32 17.3s Mpscq parallel [ ] 17 0 0 17 / 32 17.9s Mpscq parallel [ ] 18 0 0 18 / 32 18.5s Mpscq parallel [ ] 19 0 0 19 / 32 19.0s Mpscq parallel [ ] 20 0 0 20 / 32 19.3s Mpscq parallel [ ] 21 0 0 21 / 32 19.5s Mpscq parallel [ ] 22 0 0 22 / 32 19.7s Mpscq parallel [ ] 24 0 0 24 / 32 19.8s Mpscq parallel [ ] 25 0 0 25 / 32 19.9s Mpscq parallel [ ] 28 0 0 28 / 32 20.2s Mpscq parallel [✓] 32 0 0 32 / 32 20.2s Mpscq parallel ================================================================================ success (ran 2 tests) (cd _build/default/bench && ./main.exe -brief 'Picos Yield') Picos Yield: time per yield/10000 fibers: 358.07 ns time per yield/1000 fibers: 143.90 ns time per yield/100 fibers: 135.24 ns time per yield/10 fibers: 148.50 ns time per yield/1 fiber: 161.03 ns yields over time/10000 fibers: 2.79 M/s yields over time/1000 fibers: 6.95 M/s yields over time/100 fibers: 7.39 M/s yields over time/10 fibers: 6.73 M/s yields over time/1 fiber: 6.21 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.29 M/s async round-trips over time/2 workers: 0.52 M/s async round-trips over time/4 workers: 0.84 M/s round-trips over time/1 worker: 0.05 M/s round-trips over time/2 workers: 0.11 M/s round-trips over time/4 workers: 0.20 M/s time per async round-trip/1 worker: 3475.60 ns time per async round-trip/2 workers: 3812.92 ns time per async round-trip/4 workers: 4762.07 ns time per round-trip/1 worker: 18221.12 ns time per round-trip/2 workers: 18686.83 ns time per round-trip/4 workers: 19597.34 ns (cd _build/default/bench && ./main.exe -brief 'Ref with Picos_sync.Mutex') Ref with Picos_sync.Mutex: ops over time/cas int (checked): 6.19 M/s ops over time/cas int (unchecked): 16.70 M/s ops over time/get (checked): 6.17 M/s ops over time/get (unchecked): 18.14 M/s ops over time/incr (checked): 4.10 M/s ops over time/incr (unchecked): 18.41 M/s ops over time/push & pop (checked): 3.93 M/s ops over time/push & pop (unchecked): 14.02 M/s ops over time/swap (checked): 4.88 M/s ops over time/swap (unchecked): 16.03 M/s ops over time/xchg int (checked): 4.63 M/s ops over time/xchg int (unchecked): 16.90 M/s time per op/cas int (checked): 161.55 ns time per op/cas int (unchecked): 59.87 ns time per op/get (checked): 162.08 ns time per op/get (unchecked): 55.13 ns time per op/incr (checked): 243.77 ns time per op/incr (unchecked): 54.32 ns time per op/push & pop (checked): 254.38 ns time per op/push & pop (unchecked): 71.35 ns time per op/swap (checked): 205.02 ns time per op/swap (unchecked): 62.38 ns time per op/xchg int (checked): 216.09 ns time per op/xchg int (unchecked): 59.17 ns (cd _build/default/bench && ./main.exe -brief Picos_mpmcq) Picos_mpmcq: messages over time/1 nb adder, 1 nb taker: 11.96 M/s messages over time/1 nb adder, 2 nb takers: 10.37 M/s messages over time/1 nb adder, 4 nb takers: 9.60 M/s messages over time/2 nb adders, 1 nb taker: 9.72 M/s messages over time/2 nb adders, 2 nb takers: 8.90 M/s messages over time/2 nb adders, 4 nb takers: 9.01 M/s messages over time/4 nb adders, 1 nb taker: 8.69 M/s messages over time/4 nb adders, 2 nb takers: 8.84 M/s messages over time/4 nb adders, 4 nb takers: 7.36 M/s messages over time/one domain: 11.30 M/s time per message/1 nb adder, 1 nb taker: 167.17 ns time per message/1 nb adder, 2 nb takers: 289.31 ns time per message/1 nb adder, 4 nb takers: 520.69 ns time per message/2 nb adders, 1 nb taker: 308.54 ns time per message/2 nb adders, 2 nb takers: 449.31 ns time per message/2 nb adders, 4 nb takers: 666.13 ns time per message/4 nb adders, 1 nb taker: 575.31 ns time per message/4 nb adders, 2 nb takers: 678.45 ns time per message/4 nb adders, 4 nb takers: 1087.68 ns time per message/one domain: 88.49 ns (cd _build/default/bench && ./main.exe -brief Picos_mpscq) Picos_mpscq: messages over time/1 nb adder, 1 nb taker: 10.42 M/s messages over time/2 nb adders, 1 nb taker: 12.45 M/s messages over time/4 nb adders, 1 nb taker: 12.93 M/s messages over time/one domain: 12.07 M/s time per message/1 nb adder, 1 nb taker: 191.95 ns time per message/2 nb adders, 1 nb taker: 241.04 ns time per message/4 nb adders, 1 nb taker: 386.69 ns time per message/one domain: 82.86 ns (cd _build/default/bench && ./main.exe -brief Picos_htbl) Picos_htbl: operations over time/1 worker, 10% reads: 7.44 M/s operations over time/1 worker, 50% reads: 8.55 M/s operations over time/1 worker, 90% reads: 11.54 M/s operations over time/2 workers, 10% reads: 10.09 M/s operations over time/2 workers, 50% reads: 12.75 M/s operations over time/2 workers, 90% reads: 20.08 M/s operations over time/4 workers, 10% reads: 17.06 M/s operations over time/4 workers, 50% reads: 12.96 M/s operations over time/4 workers, 90% reads: 32.27 M/s operations over time/8 workers, 10% reads: 22.23 M/s operations over time/8 workers, 50% reads: 35.93 M/s operations over time/8 workers, 90% reads: 60.37 M/s time per operation/1 worker, 10% reads: 134.37 ns time per operation/1 worker, 50% reads: 116.97 ns time per operation/1 worker, 90% reads: 86.66 ns time per operation/2 workers, 10% reads: 198.25 ns time per operation/2 workers, 50% reads: 156.89 ns time per operation/2 workers, 90% reads: 99.60 ns time per operation/4 workers, 10% reads: 234.52 ns time per operation/4 workers, 50% reads: 308.62 ns time per operation/4 workers, 90% reads: 123.96 ns time per operation/8 workers, 10% reads: 359.80 ns time per operation/8 workers, 50% reads: 222.66 ns time per operation/8 workers, 90% reads: 132.52 ns (cd _build/default/bench && ./main.exe -brief Picos_stdio) Picos_stdio: blocking reads over time/1 worker: 0.01 M/s blocking reads over time/2 workers: 0.18 M/s blocking reads over time/4 workers: 0.10 M/s non-blocking reads over time/1 worker: 0.84 M/s non-blocking reads over time/2 workers: 1.65 M/s non-blocking reads over time/4 workers: 1.16 M/s time per blocking read/1 worker: 79734.17 ns time per blocking read/2 workers: 11098.98 ns time per blocking read/4 workers: 38226.26 ns time per non-blocking read/1 worker: 1196.62 ns time per non-blocking read/2 workers: 1215.58 ns time per non-blocking read/4 workers: 3453.98 ns (cd _build/default/bench && ./main.exe -brief 'Picos_sync Stream') Picos_sync Stream: messages over time/1 nb pusher, 1 nb reader: 3.62 M/s messages over time/2 nb pushers, 1 nb reader: 4.08 M/s messages over time/4 nb pushers, 1 nb reader: 4.44 M/s messages over time/one domain: 3.38 M/s time per message/1 nb pusher, 1 nb reader: 552.06 ns time per message/2 nb pushers, 1 nb reader: 734.94 ns time per message/4 nb pushers, 1 nb reader: 1126.53 ns time per message/one domain: 296.29 ns (cd _build/default/bench && ./main.exe -brief Fib) Fib: spawns over time/1 mfifo, fib 20: 0.57 M/s spawns over time/1 rando, fib 20: 0.43 M/s spawns over time/2 mfifos, fib 20: 1.60 M/s spawns over time/2 randos, fib 20: 0.62 M/s spawns over time/4 mfifos, fib 20: 3.22 M/s spawns over time/4 randos, fib 20: 0.80 M/s spawns over time/8 mfifos, fib 20: 4.71 M/s spawns over time/8 randos, fib 20: 1.30 M/s time per spawn/1 mfifo, fib 20: 1758.57 ns time per spawn/1 rando, fib 20: 2306.02 ns time per spawn/2 mfifos, fib 20: 1246.66 ns time per spawn/2 randos, fib 20: 3220.57 ns time per spawn/4 mfifos, fib 20: 1242.31 ns time per spawn/4 randos, fib 20: 4990.85 ns time per spawn/8 mfifos, fib 20: 1697.78 ns time per spawn/8 randos, fib 20: 6146.44 ns (cd _build/default/bench && ./main.exe -brief 'Picos binaries') Picos binaries: binary size/picos: 83.90 kB binary size/picos.domain: 3.63 kB binary size/picos.thread: 3.07 kB binary size/picos_aux.htbl: 48.87 kB binary size/picos_aux.mpmcq: 15.25 kB binary size/picos_aux.mpscq: 17.74 kB binary size/picos_aux.rc: 16.00 kB binary size/picos_io: 107.52 kB binary size/picos_io.fd: 9.00 kB binary size/picos_io.select: 60.33 kB binary size/picos_io_cohttp: 44.00 kB binary size/picos_lwt: 25.00 kB binary size/picos_lwt.unix: 13.77 kB binary size/picos_mux.fifo: 25.09 kB binary size/picos_mux.multififo: 57.93 kB binary size/picos_mux.random: 46.67 kB binary size/picos_mux.thread: 21.17 kB binary size/picos_std.awaitable: 32.38 kB binary size/picos_std.event: 21.37 kB binary size/picos_std.finally: 18.09 kB binary size/picos_std.structured: 76.75 kB binary size/picos_std.sync: 104.07 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: 1.05 M/s messages over time/1 adder, 2 takers: 0.31 M/s messages over time/1 adder, 4 takers: 0.03 M/s messages over time/2 adders, 1 taker: 0.36 M/s messages over time/2 adders, 2 takers: 0.25 M/s messages over time/2 adders, 4 takers: 0.10 M/s messages over time/4 adders, 1 taker: 0.40 M/s messages over time/4 adders, 2 takers: 0.33 M/s messages over time/4 adders, 4 takers: 0.24 M/s messages over time/one domain: 7.50 M/s time per message/1 adder, 1 taker: 1907.18 ns time per message/1 adder, 2 takers: 9809.73 ns time per message/1 adder, 4 takers: 173407.54 ns time per message/2 adders, 1 taker: 8434.14 ns time per message/2 adders, 2 takers: 16076.50 ns time per message/2 adders, 4 takers: 62138.82 ns time per message/4 adders, 1 taker: 12362.54 ns time per message/4 adders, 2 takers: 17977.00 ns time per message/4 adders, 4 takers: 33515.73 ns time per message/one domain: 133.26 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-11-27 13:03.42 ---> saved as "b3821aff89ad35eb5c0c38b946cc34291516edf04cb8091915304f9306bcadad" Job succeeded 2024-11-27 13:14.35: Job succeeded