guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#46806] [PATCH] gnu: ocaml-4.07: Bootstrap.


From: pukkamustard
Subject: [bug#46806] [PATCH] gnu: ocaml-4.07: Bootstrap.
Date: Mon, 01 Mar 2021 10:16:14 +0100
User-agent: mu4e 1.4.14; emacs 27.1


I managed to build camlboot and ocaml@4.07 with your patches.

Would be fantastic if you could report build time for camlboot too :).

Build time (on a quad-core i7 laptop):

```
$ time ./pre-inst-env guix build camlboot --no-offload
.
.
.
successfully built /gnu/store/ddi5n28hsrgvb89r8vjs0rfvapxfbaj2-camlboot-0.0.0-0.506280c.drv
/gnu/store/79bqayhrc6qfr2k7pfk7fn6lim0f8cfx-camlboot-0.0.0-0.506280c

real    322m35.119s
user    0m1.523s
sys     0m0.140s
```

ocaml@4.07 with your patches applied:

```
$ time ./pre-inst-env guix build ocaml@4.07 --no-offload
successfully built /gnu/store/sdxybpxzjhib5ijn3fx3r29ycp5vvafd-ocaml-4.07.1.drv
/gnu/store/cniid9xi3dck7kdpfm77h56h1s0701fm-ocaml-4.07.1

real    17m52.923s
user    0m9.268s
sys     0m1.013s
```

ocaml@4.07 at master:

```
$ time ./pre-inst-env guix build ocaml@4.07 --no-offload --check
successfully built /gnu/store/v599h0bhpyh2rq4nrnqqf56lwbsf0f71-ocaml-4.07.1.drv successfully built /gnu/store/v599h0bhpyh2rq4nrnqqf56lwbsf0f71-ocaml-4.07.1.drv
/gnu/store/s7j0vl88zakkdcyvw1jw8cypfzi6ljnd-ocaml-4.07.1

real    21m44.000s
user    0m14.546s
sys     0m1.217s
```

The result should be almost identical to our current ocaml-4.07, though there are some due to different output directory being embedded.

Checked some random files in both ocaml's with diffoscope and can confirm that differences seem to be mostly different output directories.

Haven't run diffoscope on everything as that would take quite some time...

-pukkamustard



Fantastic! Thank you and thanks to the camlboot project! I will
try and
build this tonight.

Julien Lepiller <julien@lepiller.eu> writes:

Hi Guix!

This small series adds camlboot, a project to reimplement a
bootstrap
for OCaml, which lets us remove the pre-built boot/ocaml{c,lex}
:)

The first patch builds the bootstraped ocamlc and ocamllex. This
takes
around 4 hours to build. The second patch rebuilds them using
the source
code for ocaml 4.07.1, instead of the modified sources used in
camlboot, and reuse them to run the main Makefile (make
world.opt).

As a result, we have identical files for this bootstrap and the unbootstrapped OCaml (up to output store paths and hash of some
files
that get embedded in native files, which differ because of the
different output path).






reply via email to

[Prev in Thread] Current Thread [Next in Thread]