[Bug 1713219] Re: 'apt-mark showauto' and 'apt-cache show' is slow
** Description changed: $ time apt-mark showauto >/dev/null real 0m0,620s user 0m0,557s sys 0m0,052s When I run the command first time, it is even much slower. - I could do the job* in fraction of a time using awk in POSIX shell script - (name it ./apt-mark-showauto.sh): + I could do the job* in fraction of a time using an AWK script + (name it ./apt-mark-showauto.awk): - #!/bin/sh - auto_file='/var/lib/apt/extended_states' - awk '/^Package:/ { - pkg=$2 - while (getline > 0 && $0) { - if ($1 == "Auto-Installed:") { - if ($2==1) print pkg - break - } + #!/usr/bin/awk -f + BEGIN{ + file="/var/lib/apt/extended_states" + while ((getline < file) > 0) { + if ($0 ~ /^Package:/) { + pkg=$2 + while ((getline < file) > 0 && $0) { + if ($1 == "Auto-Installed:") { + if ($2==1) print pkg + break + } + } + } } - }' "$auto_file" + } - $ time ./apt-mark-showauto.sh >/dev/null + $ time ./apt-mark-showauto.awk >/dev/null - real 0m0,005s - user 0m0,002s - sys 0m0,004s + real 0m0,004s + user 0m0,004s + sys 0m0,000s - Tested in Ubuntu 20.04. + Tested in Ubuntu 20.04 and mawk 1.3.4 as AWK interpreter. *) The script omits Architecture information, though. And should apt- config be queried for the extended_states file path? Similarly apt-cache show is slow. (It also shows whether a package is manually or automatically installed. ProblemType: Bug DistroRelease: Ubuntu 14.04 Package: apt 1.0.1ubuntu2.17 ProcVersionSignature: Ubuntu 4.4.0-92.115~14.04.1-generic 4.4.76 Uname: Linux 4.4.0-92-generic x86_64 ApportVersion: 2.14.1-0ubuntu3.25 Architecture: amd64 CurrentDesktop: XFCE Date: Sat Aug 26 12:59:00 2017 EcryptfsInUse: Yes InstallationDate: Installed on 2014-09-21 (1070 days ago) InstallationMedia: Ubuntu-Studio 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.1) SourcePackage: apt UpgradeStatus: No upgrade log present (probably fresh install) modified.conffile..etc.cron.daily.apt: [modified] modified.conffile..etc.kernel.postinst.d.apt.auto.removal: [modified] mtime.conffile..etc.cron.daily.apt: 2017-05-03T10:27:27.617839 mtime.conffile..etc.kernel.postinst.d.apt.auto.removal: 2017-06-01T14:39:39.236080 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1713219 Title: 'apt-mark showauto' and 'apt-cache show' is slow To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1713219/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1713219] Re: 'apt-mark showauto' and 'apt-cache show' is slow
** Description changed: $ time apt-mark showauto >/dev/null - real 0m0.587s - user 0m0.552s - sys 0m0.016s + real 0m0,620s + user 0m0,557s + sys 0m0,052s When I run the command first time, it is even much slower. - I could do the job in fraction of a time using awk in POSIX shell - script: + I could do the job* in fraction of a time using awk in POSIX shell script + (name it ./apt-mark-showauto.sh): + #!/bin/sh auto_file='/var/lib/apt/extended_states' - eval $(apt-config shell auto_file Dir::State::extended_states/f) awk '/^Package:/ { pkg=$2 - getline; arch=$2 - getline - if($2==1) print pkg ":" arch - }' "$auto_file" | CL_ALL=C sort -u + while (getline > 0 && $0) { + if ($1 == "Auto-Installed:") { + if ($2==1) print pkg + break + } + } + }' "$auto_file" - real 0m0.019s - user 0m0.008s - sys 0m0.000s + $ time ./apt-mark-showauto.sh >/dev/null - That prints architecture for every package and shows entries in slightly - different order, though. And the file could be out of date showing - packages that are not installed?!? + real 0m0,005s + user 0m0,002s + sys 0m0,004s + + Tested in Ubuntu 20.04. + + *) The script omits Architecture information, though. And should apt- + config be queried for the extended_states file path? Similarly - apt show + apt-cache show is slow. (It also shows whether a package is manually or automatically installed. ProblemType: Bug DistroRelease: Ubuntu 14.04 Package: apt 1.0.1ubuntu2.17 ProcVersionSignature: Ubuntu 4.4.0-92.115~14.04.1-generic 4.4.76 Uname: Linux 4.4.0-92-generic x86_64 ApportVersion: 2.14.1-0ubuntu3.25 Architecture: amd64 CurrentDesktop: XFCE Date: Sat Aug 26 12:59:00 2017 EcryptfsInUse: Yes InstallationDate: Installed on 2014-09-21 (1070 days ago) InstallationMedia: Ubuntu-Studio 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.1) SourcePackage: apt UpgradeStatus: No upgrade log present (probably fresh install) modified.conffile..etc.cron.daily.apt: [modified] modified.conffile..etc.kernel.postinst.d.apt.auto.removal: [modified] mtime.conffile..etc.cron.daily.apt: 2017-05-03T10:27:27.617839 mtime.conffile..etc.kernel.postinst.d.apt.auto.removal: 2017-06-01T14:39:39.236080 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1713219 Title: 'apt-mark showauto' and 'apt-cache show' is slow To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1713219/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs