From adb4f2c5cf0e313e8d39a562fe7f095d2029f647 Mon Sep 17 00:00:00 2001 From: Adrian Wielgosik Date: Tue, 2 Feb 2016 18:55:48 +0100 Subject: Try avoiding loading long package description It's a fairly expensive call and it's called on every package, even though it's usually only used when we're interested in a small number of packages. Long description is currently only shown by this function when using `apt search X --full`. On my PC, this patch speeds up `apt list` by roughly 20% and `apt list --installed` by 1-2%. --- apt-private/private-output.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apt-private/private-output.cc b/apt-private/private-output.cc index b8e6dec02..458d78dc4 100644 --- a/apt-private/private-output.cc +++ b/apt-private/private-output.cc @@ -290,7 +290,8 @@ void ListSingleVersion(pkgCacheFile &CacheFile, pkgRecords &records, /*{{{*/ output = SubstVar(output, "${color:highlight}", _config->Find("APT::Color::Highlight", "")); output = SubstVar(output, "${color:neutral}", _config->Find("APT::Color::Neutral", "")); output = SubstVar(output, "${Description}", GetShortDescription(CacheFile, records, P)); - output = SubstVar(output, "${LongDescription}", GetLongDescription(CacheFile, records, P)); + if (output.find("${LongDescription}") != string::npos) + output = SubstVar(output, "${LongDescription}", GetLongDescription(CacheFile, records, P)); output = SubstVar(output, "${ }${ }", "${ }"); output = SubstVar(output, "${ }\n", "\n"); output = SubstVar(output, "${ }", " "); -- cgit v1.2.3