[tlbuild] zstd as package compressor

Johannes Hielscher jhielscher at posteo.de
Wed Feb 19 12:16:44 CET 2020


> (= have profiled tlmgr on the very platforms where it is considered
> “slow”)

I just ran `perf record tlmgr update --self --all` on my 2018ish
notebook to find it to pull 351 package updates, and an interesting read
of `perf report`. On top of the list:

8.18%  perl      libperl.so       Perl_hv_common
4.33%  perl      libperl.so       Perl_sv_clear
4.20%  perl      libperl.so       Perl_sv_setsv_flags
2.92%  kpsewhich kpsewhich        0x0000000000009207
2.55%  perl      libperl.so       Perl_sv_upgrade
1.74%  perl      libperl.so       Perl_pp_multideref
1.63%  perl      libperl.so       Perl_newSV
1.61%  perl      libperl.so       S_hv_free_ent_ret.isra.0
1.55%  perl      libperl.so       Perl_pp_iter
1.46%  perl      libperl.so       Perl_pp_multiconcat
1.42%  perl      SHA.so           sha512
1.35%  perl      libperl.so       Perl_pp_formline
1.34%  kpsewhich kpsewhich        0x00000000000091c8
1.24%  perl      libperl.so       S_hv_free_entries
1.23%  perl      libperl.so       Perl_pp_nextstate
1.17%  perl      libc-2.31.so     __strchr_avx2
1.12%  perl      libperl.so       Perl_pp_padsv
1.12%  perl      libc-2.31.so     __memcmp_avx2_movbe
1.11%  luatex    luatex           get_next
1.01%  perl      libperl.so       Perl_pp_entersub
0.90%  perl      libc-2.31.so     __memmove_avx_unaligned_erms
0.88%  perl      libc-2.31.so     malloc_consolidate
0.86%  perl      libperl.so       stadtx_hash_with_state.constprop.0
0.84%  perl      libperl.so       Perl_pp_print
0.71%  perl      libperl.so       Perl_leave_scope
0.70%  perl      libperl.so       Perl_hfree_next_entry
0.67%  perl      libperl.so       Perl_pp_method_named
0.66%  perl      libperl.so       Perl_pp_aassign
0.63%  perl      libperl.so       Perl_leave_adjust_stacks
0.62%  kpsewhich kpsewhich        0x00000000000097d7
0.61%  perl      libperl.so       Perl_pp_pushmark
0.60%  perl      libc-2.31.so     __memmove_avx_unaligned
0.60%  perl      libperl.so       Perl_sv_cmp_flags
0.57%  kpsewhich kpsewhich        0x00000000000097e8
0.57%  perl      libperl.so       Perl_pp_rv2av
0.50%  luatex    luatex           macro_call
0.48%  perl      libperl.so       Perl_pp_defined
0.45%  perl      libperl.so       S_share_hek_flags
0.44%  perl      libperl.so       Perl_do_print
0.44%  perl      libperl.so       PerlIOBuf_write
0.44%  xetex     xetex            0x000000000001528d
0.42%  perl      libperl.so       S_unshare_hek_or_pvn
0.41%  perl      libperl.so       Perl_pp_unstack
0.40%  xz        liblzma.so.5.2.4 lzma_crc64

(Cropped after this first occurrence of xz)


Cumulative percentages: 
perl: 67%
xz: 11%
kpsewhich: 8%

So even if there were a thing like a decompressor of infinite
throughput, it could speed up tlmgr by no more than a few percent.


Best,
Johannes



More information about the tlbuild mailing list.