Message ID | cover.1712656502.git.efraim@flashner.co.il |
---|---|
Headers | show |
Series | Use guile-final for grafting. | expand |
Howdy! Efraim Flashner <efraim@flashner.co.il> skribis: > Over the years the grafting code has changed bit by bit, with various > attempts to speed it up. By switching the grafts to not use parallelism > in rewriting the leaves we can finally switch the guile-for-grafts to be > guile-final. The segfault is still there if we perform the grafts in > parallel, but I believe it is fast enough that it should be fine to do > them sequentially. Could you time the grafting derivation of, say, libreoffice or ungoogled-chromium? Typically I’d do it along these lines: --8<---------------cut here---------------start------------->8--- $ guix build libreoffice /gnu/store/24is7ypdx6sm56mkclxdx4hyj7yg4smb-libreoffice-7.6.3.1 $ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' $ time guix build libreoffice --check The following graft will be made: /gnu/store/wdjqpxm2kbdvq7qlrzyjxb244zn3s3bv-libreoffice-7.6.3.1.drv applying 137 grafts for libreoffice-7.6.3.1 ... grafting '/gnu/store/5flppg3h8y235di2ilr3sx878gfl82db-libreoffice-7.6.3.1' -> '/gnu/store/24is7ypdx6sm56mkclxdx4hyj7yg4smb-libreoffice-7.6.3.1'... successfully built /gnu/store/wdjqpxm2kbdvq7qlrzyjxb244zn3s3bv-libreoffice-7.6.3.1.drv successfully built /gnu/store/wdjqpxm2kbdvq7qlrzyjxb244zn3s3bv-libreoffice-7.6.3.1.drv /gnu/store/24is7ypdx6sm56mkclxdx4hyj7yg4smb-libreoffice-7.6.3.1 real 0m14.921s user 0m7.588s sys 0m0.389s --8<---------------cut here---------------end--------------->8--- (That’s on my 4-core i7.) It’s a bummer that the segfault is still there. I remember week-long ‘rr’ debugging sessions in the past, where I did find a few issues; I should try again but uh… > There's probably room in replace-store-references in (guix build graft) > for changes if we're not going to use guile-2.0 here anymore. I believe ‘tests/grafts.scm’ may run some of this code under Guile 2.0 (using the ‘guile-bootstrap’ tarball provided for the tests). Thanks, Ludo’.
On Mon, Apr 15, 2024 at 10:28:17PM +0200, Ludovic Courtès wrote: > Howdy! > > Efraim Flashner <efraim@flashner.co.il> skribis: > > > Over the years the grafting code has changed bit by bit, with various > > attempts to speed it up. By switching the grafts to not use parallelism > > in rewriting the leaves we can finally switch the guile-for-grafts to be > > guile-final. The segfault is still there if we perform the grafts in > > parallel, but I believe it is fast enough that it should be fine to do > > them sequentially. > > Could you time the grafting derivation of, say, libreoffice or > ungoogled-chromium? > > Typically I’d do it along these lines: > > --8<---------------cut here---------------start------------->8--- > $ guix build libreoffice > /gnu/store/24is7ypdx6sm56mkclxdx4hyj7yg4smb-libreoffice-7.6.3.1 > $ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' > $ time guix build libreoffice --check > The following graft will be made: > /gnu/store/wdjqpxm2kbdvq7qlrzyjxb244zn3s3bv-libreoffice-7.6.3.1.drv > applying 137 grafts for libreoffice-7.6.3.1 ... > grafting '/gnu/store/5flppg3h8y235di2ilr3sx878gfl82db-libreoffice-7.6.3.1' -> '/gnu/store/24is7ypdx6sm56mkclxdx4hyj7yg4smb-libreoffice-7.6.3.1'... > successfully built /gnu/store/wdjqpxm2kbdvq7qlrzyjxb244zn3s3bv-libreoffice-7.6.3.1.drv > successfully built /gnu/store/wdjqpxm2kbdvq7qlrzyjxb244zn3s3bv-libreoffice-7.6.3.1.drv > /gnu/store/24is7ypdx6sm56mkclxdx4hyj7yg4smb-libreoffice-7.6.3.1 > > real 0m14.921s > user 0m7.588s > sys 0m0.389s > --8<---------------cut here---------------end--------------->8--- > > (That’s on my 4-core i7.) I'm currently vising my parents for a few weeks during the Passover break, and I've already lost connection to my desktop at home, so I'm currently running the tests on my pinebook pro. The first one is with the patches applied, the second one is without the patches. I have the guix-daemon on my pinebook pro to use 3 cores, but I'm not sure how much that would be honored by the grafting code. (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' Password: (ins)efraim@pbp ~/workspace/guix$ time ./pre-inst-env guix build libreoffice --check The following graft will be made: /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv applying 137 grafts for libreoffice-7.6.3.1 ... grafting '/gnu/store/yd9slkfhdl8lzhhmhm40airimwb6yhj5-libreoffice-7.6.3.1' -> '/gnu/store/1cfjx934czp641v4fmwsz2js7158ivgm-libreoffice-7.6.3.1'... successfully built /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv successfully built /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv /gnu/store/1cfjx934czp641v4fmwsz2js7158ivgm-libreoffice-7.6.3.1 real 1m35.537s user 0m32.328s sys 0m2.521s (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' (ins)efraim@pbp ~/workspace/guix$ time guix build libreoffice --check The following graft will be made: /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv applying 137 grafts for libreoffice-7.6.3.1 ... grafting '/gnu/store/yd9slkfhdl8lzhhmhm40airimwb6yhj5-libreoffice-7.6.3.1' -> '/gnu/store/xm3q8qsns8qqybq47zvv70n0y0qs4r65-libreoffice-7.6.3.1'... successfully built /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv successfully built /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv /gnu/store/xm3q8qsns8qqybq47zvv70n0y0qs4r65-libreoffice-7.6.3.1 real 1m20.573s user 0m29.688s sys 0m2.346s
Hi! Efraim Flashner <efraim@flashner.co.il> skribis: > The first one is with the patches applied, the second one is without the > patches. I have the guix-daemon on my pinebook pro to use 3 cores, but > I'm not sure how much that would be honored by the grafting code. > > (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' > Password: > (ins)efraim@pbp ~/workspace/guix$ time ./pre-inst-env guix build libreoffice --check > The following graft will be made: > /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv > applying 137 grafts for libreoffice-7.6.3.1 ... > grafting '/gnu/store/yd9slkfhdl8lzhhmhm40airimwb6yhj5-libreoffice-7.6.3.1' -> '/gnu/store/1cfjx934czp641v4fmwsz2js7158ivgm-libreoffice-7.6.3.1'... > successfully built /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv > successfully built /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv > /gnu/store/1cfjx934czp641v4fmwsz2js7158ivgm-libreoffice-7.6.3.1 > > real 1m35.537s > user 0m32.328s > sys 0m2.521s > (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' > (ins)efraim@pbp ~/workspace/guix$ time guix build libreoffice --check > The following graft will be made: > /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv > applying 137 grafts for libreoffice-7.6.3.1 ... > grafting '/gnu/store/yd9slkfhdl8lzhhmhm40airimwb6yhj5-libreoffice-7.6.3.1' -> '/gnu/store/xm3q8qsns8qqybq47zvv70n0y0qs4r65-libreoffice-7.6.3.1'... > successfully built /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv > successfully built /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv > /gnu/store/xm3q8qsns8qqybq47zvv70n0y0qs4r65-libreoffice-7.6.3.1 > > real 1m20.573s > user 0m29.688s > sys 0m2.346s That’s an 18% slowdown. Could you make several runs to see how stable that is? Thanks, Ludo’.