diff options
author | Dan McGee <dan@archlinux.org> | 2012-03-16 23:57:04 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2012-03-16 23:57:04 +0100 |
commit | 8da489eac53513841d62380a72aae1baecc44e61 (patch) | |
tree | 1526dbe3366f0d62d2749c3c5cd75eb80c96228e /test | |
parent | 0972b7acfd7c8fadb6aeec6606ea85bf6c5d3d3d (diff) | |
download | pacman-8da489eac53513841d62380a72aae1baecc44e61.tar.gz pacman-8da489eac53513841d62380a72aae1baecc44e61.tar.xz |
Reduce calls to getcols
This dramatically improves upon a much older attempt in 2008 in commit
ce3d70aa99ab86. We don't need to call it once per line we print unless
there is a reasonable expectation of being able to resize the terminal
mid-operation; this is really only the case during our callback progress
bars.
Some before and after numbers of ioctl() calls, gleaned from strace of
the following operations (no targets to any of them to maximize the
amount of output):
pacman -Qii : 37768 -> 2616 (93.1% decrease)
pacman -Qs : 2616 -> 4 (99.8%)
pacman -Sii : 133036 -> 10926 (91.8%)
pacman -Ss : 10926 -> 14 (99.9%)
Obviously the search results are astounding; we only call getcols()
once in the case of -Qs, and once per repo in the case of -Ss. For
-Qii and -Sii we are still calling it once per package, but this is
much better than once per line of info output.
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions