Переглянути джерело

Avoid temporary strings in SubstVar.

Microoptimization, but still gives a measurable 2-3% improvement
when using commands with lots of output like `apt list`.
Adrian Wielgosik 10 роки тому
батько
коміт
732510fef9
1 змінених файлів з 3 додано та 1 видалено
  1. 3 1
      apt-pkg/contrib/strutl.cc

+ 3 - 1
apt-pkg/contrib/strutl.cc

@@ -464,7 +464,9 @@ string SubstVar(const string &Str,const string &Subst,const string &Contents)
 
 
    if (OldPos >= Str.length())
    if (OldPos >= Str.length())
       return Temp;
       return Temp;
-   return Temp + string(Str,OldPos);
+
+   Temp.append(Str, OldPos, string::npos);
+   return Temp;
 }
 }
 string SubstVar(string Str,const struct SubstVar *Vars)
 string SubstVar(string Str,const struct SubstVar *Vars)
 {
 {