2024-10-29 20:00.48: New job: test ocaml-multicore/picos https://github.com/ocaml-multicore/picos.git#refs/heads/experiment-using-shallow-effects (ff7de856884175c169154ec528b0a0ec253dad57) (linux-arm64:debian-12-4.14_arm32_opam-2.2)
Base: ocaml/opam:debian-12-ocaml-4.14@sha256:eff85f5cb9888cfbd35898b967422b4825552f6e6a4858f6f2b5c9df46f11264
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/ocaml-multicore/picos.git" -b "experiment-using-shallow-effects" && cd "picos" && git reset --hard ff7de856
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-4.14@sha256:eff85f5cb9888cfbd35898b967422b4825552f6e6a4858f6f2b5c9df46f11264
# debian-12-4.14_arm32_opam-2.2
USER 1000:1000
SHELL [ "/usr/bin/linux32", "/bin/sh", "-c" ]
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.16.3 base-bigarray.base base-bytes.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-bash.1 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-arm32.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.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.3.6.9 ocamlbuild.0.15.0 ocamlfind.1.9.6 ocplib-endian.1.2 ohex.0.2.0 oseq.0.5.1 parsexp.v0.16.0 ppx_derivers.1.2.1 ppx_sexp_conv.v0.16.0 ppxlib.0.33.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.16.0 sexplib0.v0.16.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-29 20:00.48: Using cache hint "ocaml-multicore/picos-ocaml/opam:debian-12-ocaml-4.14@sha256:eff85f5cb9888cfbd35898b967422b4825552f6e6a4858f6f2b5c9df46f11264-debian-12-4.14_arm32_opam-2.2-4d97a2cc263a5f3755d8594dbe3e16d2"
2024-10-29 20:00.48: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-4.14@sha256:eff85f5cb9888cfbd35898b967422b4825552f6e6a4858f6f2b5c9df46f11264)
(comment debian-12-4.14_arm32_opam-2.2)
(user (uid 1000) (gid 1000))
(shell /usr/bin/linux32 /bin/sh -c)
(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.16.3 base-bigarray.base base-bytes.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-bash.1 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-arm32.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.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.3.6.9 ocamlbuild.0.15.0 ocamlfind.1.9.6 ocplib-endian.1.2 ohex.0.2.0 oseq.0.5.1 parsexp.v0.16.0 ppx_derivers.1.2.1 ppx_sexp_conv.v0.16.0 ppxlib.0.33.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.16.0 sexplib0.v0.16.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-29 20:00.48: Waiting for resource in pool OCluster
2024-10-29 20:00.48: Waiting for worker…
2024-10-29 20:37.53: Got resource from pool OCluster
Building on arm64-jade-2.equinix.ci.dev
All commits already cached
HEAD is now at ff7de85 Experiment to use shallow effects in `picos_mux.fifo`
(from ocaml/opam:debian-12-ocaml-4.14@sha256:eff85f5cb9888cfbd35898b967422b4825552f6e6a4858f6f2b5c9df46f11264)
Unable to find image 'ocaml/opam:debian-12-ocaml-4.14@sha256:eff85f5cb9888cfbd35898b967422b4825552f6e6a4858f6f2b5c9df46f11264' locally
docker.io/ocaml/opam@sha256:eff85f5cb9888cfbd35898b967422b4825552f6e6a4858f6f2b5c9df46f11264: Pulling from ocaml/opam
40a80c95f31d: Already exists
7da9b0370692: Already exists
c81e42f8e448: Already exists
90d989588383: Already exists
8348515e0f27: Already exists
9106bc6bf6a4: Already exists
1d3e6da76781: Already exists
8f04d288f1b1: Already exists
f3f279e4cf83: Already exists
a1f5c3c8acf4: Already exists
0c3cd48ffaa7: Already exists
62eb650af69e: Already exists
7f807f7242bc: Already exists
29bcb39f38b0: Already exists
29bcb39f38b0: Already exists
e575c24840b3: Already exists
a49b015a9865: Already exists
11732b4d585a: Already exists
f7ddb149bf06: Already exists
4f4fb700ef54: Already exists
8d65a71c7d4c: Already exists
3362ac4dc388: Already exists
b65987dd3bf1: Already exists
088d9e348192: Already exists
690d3921b246: Already exists
f78e9423b754: Already exists
ce2a0d6f398a: Already exists
d1779863a0b7: Already exists
a46ee749d21c: Already exists
f963d1bcca28: Already exists
d97cb69ae249: Already exists
e66fe7b26767: Already exists
ec80df7cc796: Already exists
ca4ac4e06954: Already exists
0e8f07ef043c: Already exists
a8ac426989f6: Already exists
22366a2f8fd4: Already exists
07c8b70ba592: Pulling fs layer
8eb80e77bd4c: Pulling fs layer
74976fc22272: Pulling fs layer
333f748e5435: Pulling fs layer
333f748e5435: Waiting
74976fc22272: Verifying Checksum
74976fc22272: Download complete
8eb80e77bd4c: Verifying Checksum
8eb80e77bd4c: Download complete
333f748e5435: Download complete
07c8b70ba592: Verifying Checksum
07c8b70ba592: Download complete
07c8b70ba592: Pull complete
8eb80e77bd4c: Pull complete
74976fc22272: Pull complete
333f748e5435: Pull complete
Digest: sha256:eff85f5cb9888cfbd35898b967422b4825552f6e6a4858f6f2b5c9df46f11264
Status: Downloaded newer image for ocaml/opam@sha256:eff85f5cb9888cfbd35898b967422b4825552f6e6a4858f6f2b5c9df46f11264
2024-10-29 20:37.53 ---> using "174e3c5e9c2b8b36a4e8f8fa1070652b443d3b6b2370f9aac1bddd637ce8bcc6" from cache
/: (comment debian-12-4.14_arm32_opam-2.2)
/: (user (uid 1000) (gid 1000))
/: (shell /usr/bin/linux32 /bin/sh -c)
/: (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-29 20:37.53 ---> using "88b1ee05152ca28a1f0b9b936d08166ef5cbedea237c1bb913ffda09ce652041" 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.
Continue? [y/n] y
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.
[NOTE] The 'jobs' option was reset, its value was 79 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=79 --global
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from file:///home/opam/opam-repository
2024-10-29 20:37.53 ---> using "c974afe1fe3a5b37c337bcc89bce251dc35730eabe68f9e05e6e9736a165c976" from cache
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-122-generic
The OCaml toplevel, version 4.14.2
2.2.1
2024-10-29 20:37.53 ---> using "42770e8db16ce9dadce6f5fc1d2f6f9b94751177bc474a8cd890a846a5839b9b" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2024-10-29 20:37.53 ---> using "00b4a952a4965ef05a001b0bc5f19f253e8d4babd36e21ba7553bff782433d8d" 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"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
75006f8c5e..668080c004 master -> origin/master
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-29 20:37.53 ---> using "7670a8cc397bdbad87765dea956add16ac5c44d7cd6430374df8488a7a99b7ec" 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-10-29 20:37.53 ---> saved as "f298fdff618c24a0e711a781dc11d5d27da335b15163de4dfa3a13c73c5b13c5"
/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-29 20:38.09 ---> saved as "3c0bc3120cf689b803ddc7accb616b699be96fa0f362f6c92c30cdb733364c7f"
/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.16.3 base-bigarray.base base-bytes.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-bash.1 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-arm32.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.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.3.6.9 ocamlbuild.0.15.0 ocamlfind.1.9.6 ocplib-endian.1.2 ohex.0.2.0 oseq.0.5.1 parsexp.v0.16.0 ppx_derivers.1.2.1 ppx_sexp_conv.v0.16.0 ppxlib.0.33.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.16.0 sexplib0.v0.16.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 "apt-get" "update"
- Hit:1 http://deb.debian.org/debian bookworm InRelease
- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
- Get:4 http://deb.debian.org/debian bookworm-updates/main armhf Packages.diff/Index [11.7 kB]
- Get:5 http://deb.debian.org/debian bookworm-updates/main armhf Packages T-2024-09-10-2011.55-F-2024-09-10-2011.55.pdiff [1112 B]
- Get:5 http://deb.debian.org/debian bookworm-updates/main armhf Packages T-2024-09-10-2011.55-F-2024-09-10-2011.55.pdiff [1112 B]
- Get:6 http://deb.debian.org/debian-security bookworm-security/main armhf Packages [187 kB]
- Fetched 303 kB in 1s (425 kB/s)
- Reading package lists...
-
<><> 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 2).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2).
[NOTE] Package ocaml is already installed (current version is 4.14.2).
[NOTE] Package host-system-other is already installed (current version is 1).
[NOTE] Package host-arch-arm32 is already installed (current version is 1).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following system packages will first need to be installed:
libgmp-dev npm pkg-config
<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libgmp-dev" "npm" "pkg-config"
- debconf: delaying package configuration, since apt-utils is not installed
2024-10-29 20:39.07 ---> saved as "5eb10d9ec3714fe7ab6d451f2a2d2121a23e4af306a927c9a719ddd6f25460b8"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 2).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2).
[NOTE] Package ocaml is already installed (current version is 4.14.2).
[NOTE] Package host-system-other is already installed (current version is 1).
[NOTE] Package host-arch-arm32 is already installed (current version is 1).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following actions will be performed:
=== install 101 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.16.3
- 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-bash 1
- 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.12.4
- install ocaml-syntax-shims 1.0.0
- install ocaml-version 3.6.9
- 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.16.0
- install ppx_derivers 1.2.1
- install ppx_sexp_conv v0.16.0
- install ppxlib 0.33.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.16.0
- install sexplib0 v0.16.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 alcotest.1.8.0 (cached)
-> retrieved astring.0.8.5 (cached)
-> retrieved backoff.0.1.1 (cached)
-> retrieved base.v0.16.3 (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 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 conduit.6.2.3, conduit-lwt.6.2.3, conduit-lwt-unix.6.2.3 (cached)
-> retrieved containers.3.14 (cached)
-> installed conf-bash.1
-> installed conf-gmp.4
-> 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)
-> installed conf-gmp-powm-sec.3
-> 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)
-> installed conf-npm.1
-> 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 magic-mime.1.3.1 (cached)
-> retrieved mdx.2.4.1 (cached)
-> retrieved menhir.20240715, menhirCST.20240715, menhirLib.20240715, menhirSdk.20240715 (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 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 multicore-magic.2.3.0, multicore-magic-dscheck.2.3.0 (cached)
-> retrieved num.1.5-1 (cached)
-> retrieved ocaml-compiler-libs.v0.12.4 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocaml-version.3.6.9 (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 ppx_derivers.1.2.1 (cached)
-> retrieved oseq.0.5.1 (cached)
-> retrieved parsexp.v0.16.0 (cached)
-> retrieved ppx_sexp_conv.v0.16.0 (cached)
-> retrieved psq.0.2.1 (cached)
-> retrieved ptime.1.2.0 (cached)
-> retrieved qcheck-core.0.22 (cached)
-> retrieved ppxlib.0.33.0 (cached)
-> retrieved qcheck-multicoretests-util.0.4, qcheck-stm.0.4 (cached)
-> retrieved re.1.12.0 (cached)
-> retrieved result.1.5 (cached)
-> retrieved seq.base (cached)
-> retrieved rresult.0.7.0 (cached)
-> retrieved sedlex.3.3 (cached)
-> retrieved sexplib0.v0.16.0 (cached)
-> retrieved sexplib.v0.16.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 topkg.1.0.7 (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 zarith.1.14 (cached)
-> retrieved yojson.2.2.2 (cached)
-> installed cmdliner.1.3.0
-> installed seq.base
-> installed num.1.5-1
-> 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.0
-> installed domain-name.0.4.0
-> installed oseq.0.5.1
-> installed stdlib-shims.0.3.0
-> installed domain_shims.0.1.0
-> installed csexp.1.5.2
-> installed macaddr.5.6.0
-> installed camlp-streams.5.0.1
-> installed stringext.1.6.0
-> installed duration.0.2.1
-> installed ocaml-version.3.6.9
-> installed psq.0.2.1
-> installed http.6.0.0~beta2
-> installed gmap.0.3.0
-> installed backoff.0.1.1
-> installed menhirCST.20240715
-> installed result.1.5
-> installed ppx_derivers.1.2.1
-> installed either.1.0.0
-> installed ohex.0.2.0
-> installed ocaml-syntax-shims.1.0.0
-> installed thread-table.1.0.0
-> installed thread-local-storage.0.2
-> installed base64.3.5.1
-> installed menhirSdk.20240715
-> installed tsort.2.1.0
-> installed qcheck-core.0.22
-> installed asn1-combinators.0.3.2
-> installed menhirLib.20240715
-> installed magic-mime.1.3.1
-> installed multicore-magic.2.3.0
-> installed yojson.2.2.2
-> installed eqaf.0.10
-> installed ipaddr.5.6.0
-> installed ocaml-compiler-libs.v0.12.4
-> installed gen.1.1
-> installed sexplib0.v0.16.0
-> installed cppo.1.7.0
-> installed qcheck-multicoretests-util.0.4
-> installed domain-local-await.1.0.1
-> installed dune-configurator.3.16.0
-> installed re.1.12.0
-> installed qcheck-stm.0.4
-> installed ocplib-endian.1.2
-> installed digestif.1.2.0
-> installed bigstringaf.0.10.0
-> installed mirage-crypto.1.1.0
-> installed multicore-bench.0.1.7
-> installed parsexp.v0.16.0
-> installed containers.3.14
-> installed angstrom.0.16.1
-> installed dscheck.0.5.0
-> installed kdf.1.0.0
-> installed multicore-magic-dscheck.2.3.0
-> installed alcotest.1.8.0
-> installed uri.4.4.0
-> installed lwt.5.8.0
-> installed sexplib.v0.16.0
-> installed ppxlib.0.33.0
-> installed base.v0.16.3
-> installed sedlex.3.3
-> installed ppx_sexp_conv.v0.16.0
-> installed ipaddr-sexp.5.6.0
-> installed uri-sexp.4.4.0
-> installed menhir.20240715
-> 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.6.2.3
-> installed mirage-crypto-pk.1.1.0
-> installed cohttp.6.0.0~beta2
-> installed mdx.2.4.1
-> installed conduit-lwt.6.2.3
-> installed cohttp-lwt.6.0.0~beta2
-> installed bos.0.2.1
-> 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-29 20:45.37 ---> saved as "bc4f7e1aa21f2e8eca92a8fdcd100cdba1e501362ab9298cb1bfec0c3f73ba4a"
/src: (copy (src .) (dst /src))
2024-10-29 20:45.37 ---> saved as "b9eafdc50ee6bf044c627147d9104c0852182f5e78a8f1578aca06662edce878"
/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
(cd _build/default/test && ./test_mpscq.exe)
random seed: 379798551
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Mpscq sequential
================================================================================
success (ran 1 tests)
random seed: 341180246
generated error fail pass / total time test name
[✓] 64 0 0 64 / 64 0.0s Mpscq sequential
================================================================================
success (ran 1 tests)
random seed: 1009920215
generated error fail pass / total time test name
[✓] 128 0 0 128 / 128 0.0s Mpscq sequential
================================================================================
success (ran 1 tests)
random seed: 988169663
generated error fail pass / total time test name
[✓] 256 0 0 256 / 256 0.0s Mpscq sequential
================================================================================
success (ran 1 tests)
random seed: 924949213
generated error fail pass / total time test name
[✓] 512 0 0 512 / 512 0.0s Mpscq sequential
================================================================================
success (ran 1 tests)
random seed: 289551047
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Mpscq sequential
================================================================================
success (ran 1 tests)
(cd _build/default/test && ./test_finally.exe)
Testing `Picos_finally'.
This run has ID `MMAOJZTY'.
[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.001s. 2 tests run.
(cd _build/default/test && ./test_server_and_client.exe)
Using blocking sockets and threads on OCaml 4:
Recursive server running
Server listening
Client B running
Client A running
Server accepting
Client A connected
Client B connected
Server accepted client
Client A wrote 100
Server accepting
Server read 100
Client B wrote 100
Server accepted client
Server accepting
Server wrote 50
Client B read 50
Server read 100
Server wrote 50
Client A read 50
Server and Client test: OK
(cd _build/default/test && /usr/bin/node test_js_of_ocaml.bc.js)
Hello, from js_of_ocaml with Picos!
(cd _build/default/bench && ./main.exe -brief 'Picos Computation')
Picos Computation:
attach detach pairs over time/1 worker:
7.59 M/s
attach detach pairs over time/trivial:
29.82 M/s
time per attach detach pair/1 worker:
131.68 ns
time per attach detach pair/trivial:
33.54 ns
(cd _build/default/bench && ./main.exe -brief 'Picos Current')
Picos Current:
ops over time/1 worker:
105.04 M/s
time per op/1 worker:
9.52 ns
(cd _build/default/bench && ./main.exe -brief 'Picos FLS (excluding Current)')
Picos FLS (excluding Current):
gets over time/1 worker:
224.97 M/s
sets over time/1 worker:
130.21 M/s
time per get/1 worker:
4.45 ns
time per set/1 worker:
7.68 ns
(cd _build/default/test && ./test_picos.exe)
Testing `Picos'.
This run has ID `0JLYL0QH'.
[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 0.678s. 7 tests run.
(cd _build/default/bench && ./main.exe -brief 'Picos TLS')
Picos TLS:
gets over time/1 worker:
158.79 M/s
sets over time/1 worker:
86.88 M/s
time per get/1 worker:
6.30 ns
time per set/1 worker:
11.51 ns
(cd _build/default/test && ./test_sync.exe -- Event 0)
Testing `Picos_sync'.
This run has ID `WKX7KN15'.
[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.101s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- Lazy 0)
Testing `Picos_sync'.
This run has ID `Q0SQE29E'.
[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.001s. 1 test run.
(cd _build/default/bench && ./main.exe -brief 'Picos DLS')
Picos DLS:
gets over time/1 worker:
310.56 M/s
sets over time/1 worker:
142.05 M/s
time per get/1 worker:
3.22 ns
time per set/1 worker:
7.04 ns
(cd _build/default/test && ./test_sync.exe -- Lazy 1)
Testing `Picos_sync'.
This run has ID `TOM3GGBH'.
[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.003s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- Semaphore 0)
Testing `Picos_sync'.
This run has ID `OWX3VD2M'.
[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.001s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- Semaphore 1)
Testing `Picos_sync'.
This run has ID `3W4C39O8'.
[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.026s. 1 test run.
(cd _build/default/test && ./test_io.exe)
Testing `Picos_io'.
This run has ID `GH7I01FN'.
[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.443s. 6 tests run.
(cd _build/default/test && ./test_sync.exe -- 'Non-cancelable ops' 0)
Testing `Picos_sync'.
This run has ID `Y22QKF5C'.
[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.001s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- 'Mutex and Condition' 0)
Testing `Picos_sync'.
This run has ID `99HJXIT2'.
[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.015s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- 'Mutex and Condition' 1)
Testing `Picos_sync'.
This run has ID `PPMRCNCP'.
[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.002s. 1 test run.
(cd _build/default/bench && ./main.exe -brief 'Picos Mutex')
Picos Mutex:
locked yields over time/1 fiber:
0.05 M/s
locked yields over time/256 fibers:
0.00 M/s
locked yields over time/2 fibers:
0.05 M/s
locked yields over time/4 fibers:
0.05 M/s
locked yields over time/8 fibers:
0.03 M/s
time per locked yield/1 fiber:
21466.54 ns
time per locked yield/256 fibers:
449031.00 ns
time per locked yield/2 fibers:
19544.93 ns
time per locked yield/4 fibers:
22118.15 ns
time per locked yield/8 fibers:
31603.41 ns
(cd _build/default/test && ./test_structured.exe)
Testing `Picos_structured'.
This run has ID `5VI5BYGT'.
[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 0.629s. 14 tests run.
(cd _build/default/bench && ./main.exe -brief 'Picos Semaphore')
Picos Semaphore:
acquired yields over time/4 fibers, 1 resource:
0.04 M/s
acquired yields over time/4 fibers, 2 resources:
0.05 M/s
acquired yields over time/4 fibers, 3 resources:
0.04 M/s
acquired yields over time/4 fibers, 4 resources:
0.08 M/s
time per acquired yield/4 fibers, 1 resource:
25900.57 ns
time per acquired yield/4 fibers, 2 resources:
21820.35 ns
time per acquired yield/4 fibers, 3 resources:
23971.96 ns
time per acquired yield/4 fibers, 4 resources:
13329.69 ns
(cd _build/default/bench && ./main.exe -brief 'Picos Spawn')
Picos Spawn:
(cd _build/default/bench && ./main.exe -brief 'Picos Yield')
Picos Yield:
time per yield/10 fibers:
20191.82 ns
time per yield/1 fiber:
14603.22 ns
yields over time/10 fibers:
0.05 M/s
yields over time/1 fiber:
0.07 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.28 M/s
round-trips over time/1 worker:
0.04 M/s
time per async round-trip/1 worker:
3605.47 ns
time per round-trip/1 worker:
26528.98 ns
(cd _build/default/test && ./test_io_cohttp.exe)
Uri: //127.0.0.1:39407/hello-io-cohttp
Method: POST
host: 127.0.0.1:39407
user-agent: ocaml-cohttp/v6.0.0_beta2
content-length: 17
Body: It's-a-Me, Picos!
(cd _build/default/bench && ./main.exe -brief 'Ref with Picos_sync.Mutex')
Ref with Picos_sync.Mutex:
ops over time/cas int (checked):
18.74 M/s
ops over time/cas int (unchecked):
46.43 M/s
ops over time/get (checked):
20.21 M/s
ops over time/get (unchecked):
57.13 M/s
ops over time/incr (checked):
20.04 M/s
ops over time/incr (unchecked):
55.85 M/s
ops over time/push & pop (checked):
18.15 M/s
ops over time/push & pop (unchecked):
43.19 M/s
ops over time/swap (checked):
18.14 M/s
ops over time/swap (unchecked):
43.25 M/s
ops over time/xchg int (checked):
18.83 M/s
ops over time/xchg int (unchecked):
47.35 M/s
time per op/cas int (checked):
53.36 ns
time per op/cas int (unchecked):
21.54 ns
time per op/get (checked):
49.47 ns
time per op/get (unchecked):
17.50 ns
time per op/incr (checked):
49.89 ns
time per op/incr (unchecked):
17.90 ns
time per op/push & pop (checked):
55.09 ns
time per op/push & pop (unchecked):
23.15 ns
time per op/swap (checked):
55.14 ns
time per op/swap (unchecked):
23.12 ns
time per op/xchg int (checked):
53.10 ns
time per op/xchg int (unchecked):
21.12 ns
(cd _build/default/bench && ./main.exe -brief Picos_mpmcq)
Picos_mpmcq:
messages over time/one domain:
24.70 M/s
time per message/one domain:
40.48 ns
(cd _build/default/bench && ./main.exe -brief Picos_mpscq)
Picos_mpscq:
messages over time/one domain:
27.23 M/s
time per message/one domain:
36.72 ns
(cd _build/default/bench && ./main.exe -brief Picos_htbl)
Picos_htbl:
operations over time/1 worker, 10% reads:
2.94 M/s
operations over time/1 worker, 50% reads:
3.92 M/s
operations over time/1 worker, 90% reads:
5.18 M/s
time per operation/1 worker, 10% reads:
340.01 ns
time per operation/1 worker, 50% reads:
255.45 ns
time per operation/1 worker, 90% reads:
192.97 ns
(cd _build/default/test && ./test_io_with_lwt.exe)
Testing `Picos_io_with_lwt'.
This run has ID `F310L9N4'.
[OK] Unix 0 system.
Full test results in `/src/_build/default/test/_build/_tests/Picos_io_with_lwt'.
Test Successful in 2.030s. 1 test run.
(cd _build/default/test && ./test_select.exe)
Testing `Picos_select'.
This run has ID `FKP9BPPA'.
[OK] Intr 0
Full test results in `/src/_build/default/test/_build/_tests/Picos_select'.
Test Successful in 1.989s. 1 test run.
(cd _build/default/bench && ./main.exe -brief Picos_stdio)
Picos_stdio:
blocking reads over time/1 worker:
0.01 M/s
non-blocking reads over time/1 worker:
0.64 M/s
time per blocking read/1 worker:
68207.61 ns
time per non-blocking read/1 worker:
1555.14 ns
(cd _build/default/bench && ./main.exe -brief 'Picos_sync Stream')
Picos_sync Stream:
messages over time/one domain:
18.88 M/s
time per message/one domain:
52.96 ns
(cd _build/default/bench && ./main.exe -brief Fib)
Fib:
(cd _build/default/bench && ./main.exe -brief 'Picos binaries')
Picos binaries:
binary size/picos:
58.23 kB
binary size/picos.domain:
5.40 kB
binary size/picos.thread:
3.16 kB
binary size/picos_aux.htbl:
37.76 kB
binary size/picos_aux.mpmcq:
12.40 kB
binary size/picos_aux.mpscq:
14.19 kB
binary size/picos_aux.rc:
14.39 kB
binary size/picos_io:
65.60 kB
binary size/picos_io.fd:
6.90 kB
binary size/picos_io.select:
44.28 kB
binary size/picos_io_cohttp:
33.26 kB
binary size/picos_mux.thread:
18.80 kB
binary size/picos_std.awaitable:
23.86 kB
binary size/picos_std.event:
18.36 kB
binary size/picos_std.finally:
14.03 kB
binary size/picos_std.structured:
61.19 kB
binary size/picos_std.sync:
86.51 kB
(cd _build/default/bench && ./main.exe -brief 'Bounded_q with Picos_sync')
Bounded_q with Picos_sync:
messages over time/one domain:
13.71 M/s
time per message/one domain:
72.96 ns
(cd _build/default/bench && ./main.exe -brief 'Memory usage')
Memory usage:
(cd _build/default/test && ./test_sync.exe -- 'Mutex and Condition' 2)
Testing `Picos_sync'.
This run has ID `0U6CWABA'.
[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 1.781s. 1 test run.
(cd _build/default/test && ./test_schedulers.exe)
Testing `Picos schedulers'.
This run has ID `SIZD1UG0'.
[OK]
[36mTrivial 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 25.011s. 8 tests run.
Thread 150 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 49, characters 8-14
Thread 107 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 49, characters 8-14
(cd _build/default/test && ./test_htbl.exe)
random seed: 42901760
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Htbl sequential
[✓] 32 0 0 32 / 32 7.0s Htbl concurrent
================================================================================
success (ran 2 tests)
random seed: 446585743
generated error fail pass / total time test name
[✓] 64 0 0 64 / 64 0.0s Htbl sequential
[✓] 64 0 0 64 / 64 6.2s Htbl concurrent
================================================================================
success (ran 2 tests)
random seed: 791784424
generated error fail pass / total time test name
[✓] 128 0 0 128 / 128 0.0s Htbl sequential
[✓] 128 0 0 128 / 128 8.0s Htbl concurrent
================================================================================
success (ran 2 tests)
random seed: 881051760
generated error fail pass / total time test name
[✓] 256 0 0 256 / 256 0.0s Htbl sequential
[✓] 256 0 0 256 / 256 16.6s Htbl concurrent
================================================================================
success (ran 2 tests)
random seed: 1066736916
generated error fail pass / total time test name
[✓] 279 0 0 279 / 279 0.0s Htbl sequential
[✓] 279 0 0 279 / 279 17.6s Htbl concurrent
================================================================================
success (ran 2 tests)
random seed: 732739538
generated error fail pass / total time test name
[✓] 61 0 0 61 / 61 0.0s Htbl sequential
[✓] 61 0 0 61 / 61 4.2s Htbl concurrent
================================================================================
success (ran 2 tests)
random seed: 496502691
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Htbl sequential
[✓] 32 0 0 32 / 32 2.1s Htbl concurrent
================================================================================
success (ran 2 tests)
(cd _build/default/test && ./test_mpmcq.exe)
random seed: 748688348
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Mpmcq sequential
[✓] 32 0 0 32 / 32 6.5s Mpmcq concurrent
================================================================================
success (ran 2 tests)
random seed: 315352083
generated error fail pass / total time test name
[✓] 64 0 0 64 / 64 0.0s Mpmcq sequential
[✓] 64 0 0 64 / 64 6.4s Mpmcq concurrent
================================================================================
success (ran 2 tests)
random seed: 915928450
generated error fail pass / total time test name
[✓] 128 0 0 128 / 128 0.0s Mpmcq sequential
[✓] 128 0 0 128 / 128 9.2s Mpmcq concurrent
================================================================================
success (ran 2 tests)
random seed: 910084671
generated error fail pass / total time test name
[✓] 256 0 0 256 / 256 0.0s Mpmcq sequential
[✓] 256 0 0 256 / 256 17.5s Mpmcq concurrent
================================================================================
success (ran 2 tests)
random seed: 243099333
generated error fail pass / total time test name
[✓] 246 0 0 246 / 246 0.0s Mpmcq sequential
[✓] 246 0 0 246 / 246 17.8s Mpmcq concurrent
================================================================================
success (ran 2 tests)
random seed: 460430716
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Mpmcq sequential
[✓] 32 0 0 32 / 32 2.3s Mpmcq concurrent
================================================================================
success (ran 2 tests)
random seed: 950846228
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Mpmcq sequential
[✓] 32 0 0 32 / 32 2.4s Mpmcq concurrent
================================================================================
success (ran 2 tests)
2024-10-29 20:47.02 ---> saved as "38fda103d57065afffcde6a7899a0e53e47bd94fa0db38ffab65a52fb65735f4"
Job succeeded
2024-10-29 20:47.03: Job succeeded