performace of install-tl (linux)

Karl Berry karl at freefriends.org
Sun Apr 3 23:36:51 CEST 2022


Hi Harald - Johannes' reply is good system queries.
I have a few more bits to add ...

    I'm a bit surprised that I find 4619 tlpobj files while the
    installer mentioned 4344 packages.

The platform-specific "subpackages", plus .doc and .source, are all
different .tlpobj files (to avoid having to download them if they are
not desired). For example:
$ pwd
/usr/local/texlive/2022/tlpkg/tlpobj
$ ls fontinst.*
fontinst.doc.tlpobj	fontinst.tlpobj
fontinst.source.tlpobj	fontinst.x86_64-linux.tlpobj

    do you have any idea whats the reason for those extra 12min
    installation time (only extracting pkgs) for the install-tl script ?

The installer has to create/update texlive.tlpdb, i.e., consider what is
being installed, not just blindly untar the files. There is a lot of
scaffolding around the tar.

Disk caching and other system stuff could also be a factor. Doing a few
thousand tar commands in a row in a single directory is about the best
possible scenario for caching.

    I did not even manage to find tar/xz commands in any perl file in
    texlive tree :-(

tlpkg/TeXLive/*.pm
I believe the fundamental untar happens in TLUtils.pm, function untar,
around line 2559.

    happy to run more tests & benchmarks,

Thanks. I don't have an exact recipe, but profiling the installer seems
worth a shot.

Install the Devel::NYTProf module (https://metacpan.org/pod/Devel::NYTProf)
and then try running something like:
  perl -d:NYTProf install-tl --profile=TLfull-fmt.pro

where TLfull-fmt.pro is attached. A profile file that installs everything
into /tmp/ki, so as not to disturb any real installation. fmts are not
built since we don't care about that here. --best, karl.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: TLfull-fmt.pro
Type: application/octet-stream
Size: 287 bytes
Desc: not available
URL: <https://tug.org/pipermail/tex-live/attachments/20220403/7a9fe7fc/attachment-0001.obj>


More information about the tex-live mailing list.