With large /etc/group and /etc/passwd files, duplicity spends the vast majority of its time mapping group and user names to gids and uids. This is with duplicity 0.6.18-0ubuntu3 on Ubuntu 12.04 and Python 2.7.3.
I have a largish group map (7MB, with many group entries having lines in the 100KB - 200KB range.) A zero change incremental backup of ~200k files takes about 23 minutes.
Profiling the duplicity run shows that 92% of the time is spent calling grp.getgrnam! Another ~2% is spent calling grp.getgrgid, pwd.getpwnam, and pwd.getpwuid.
Some simple caching of caching of this information would make a big improvement.
With large /etc/group and /etc/passwd files, duplicity spends the vast majority of its time mapping group and user names to gids and uids. This is with duplicity 0.6.18-0ubuntu3 on Ubuntu 12.04 and Python 2.7.3.
I have a largish group map (7MB, with many group entries having lines in the 100KB - 200KB range.) A zero change incremental backup of ~200k files takes about 23 minutes.
Profiling the duplicity run shows that 92% of the time is spent calling grp.getgrnam! Another ~2% is spent calling grp.getgrgid, pwd.getpwnam, and pwd.getpwuid.
Some simple caching of caching of this information would make a big improvement.