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: Julien Lepiller
Subject: [bug#46806] [PATCH] gnu: ocaml-4.07: Bootstrap.
Date: Mon, 01 Mar 2021 06:44:32 -0500
User-agent: K-9 Mail for Android

Thanks! OK to push?

Le 1 mars 2021 04:16:14 GMT-05:00, pukkamustard <pukkamustard@posteo.net> a écrit :

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]