Did buildinstall.functions (and/or mkinitrd), which is now written in bash, used to be written in some other language, such as python? get_dso_deps contains a comment "I still hate shell." I have been building and testing a DVD from rawhide daily using pungi. Building takes about 40 to 45 minutes: 10 minutes user CPU, 14 minutes system CPU, and 16 to 20 minutes download. I'd like that to be faster, say 8 to 10 minutes plus download. After Bug 559647 (quadratic work: genisoimage per .rpm) then the next longest piece is upd-instroot. "strace -f -c" shows that there are over 125,000 successful execve(). Now install.img has around 14,600 files, so the average is more than 8 execve per file. A detailed examination using strace shows over 97,000 execve by upd-instroot: 34573 upd-instroot execve("/usr/bin/dirname", 15167 upd-instroot execve("/bin/cp", 12513 upd-instroot execve("/bin/egrep", 11478 upd-instroot execve("/usr/bin/file", 5538 upd-instroot execve("/bin/sed", 5010 upd-instroot execve("/bin/basename", 3675 upd-instroot execve("/usr/bin/readlink", 3090 upd-instroot execve("/usr/sbin/chroot", 2264 upd-instroot execve("/bin/rm", 1134 upd-instroot execve("/bin/ln", 1046 upd-instroot execve("/bin/grep", 1031 upd-instroot execve("/lib64/ld-2.11.90.so", 1030 upd-instroot execve("/bin/uname", 703 upd-instroot execve("/usr/bin/find", 627 upd-instroot execve("/bin/mkdir", [snip] and the culprits are instFile() and get_dso_deps() and callers. One process making some direct calls per file, instead of clone+execve several times per file, should be much faster. -- _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list