summaryrefslogtreecommitdiff
path: root/formula
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2021-01-25 14:43:05 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-01-25 17:54:54 +0100
commitaa98ed61a7b1e50bcc4f64ceaea3bb0cda360bb4 (patch)
tree6dbb2acb28f34084275138afa6bbe047c960697c /formula
parent46e525c36e62c7cb365f1a1f34373e726cfb49b7 (diff)
tdf#92456 improve VLOOKUP perf
shave 5% of the time here - ref-counting triggered by copying svl::SharedString is significant, so return by const& instead of by value Change-Id: Ic702632da45d75dddab33d6ce1e6f1097ff70de9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109900 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'formula')
-rw-r--r--formula/source/core/api/token.cxx12
1 files changed, 7 insertions, 5 deletions
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx
index 37dd26979ced..6464f3d52b0f 100644
--- a/formula/source/core/api/token.cxx
+++ b/formula/source/core/api/token.cxx
@@ -209,10 +209,12 @@ void FormulaToken::SetDoubleType( sal_Int16 )
assert( !"virtual dummy called" );
}
-svl::SharedString FormulaToken::GetString() const
+const svl::SharedString INVALID_STRING;
+
+const svl::SharedString & FormulaToken::GetString() const
{
SAL_WARN( "formula.core", "FormulaToken::GetString: virtual dummy called" );
- return svl::SharedString(); // invalid string
+ return INVALID_STRING; // invalid string
}
void FormulaToken::SetString( const svl::SharedString& )
@@ -1877,7 +1879,7 @@ FormulaToken* FormulaStringToken::Clone() const
return new FormulaStringToken(*this);
}
-svl::SharedString FormulaStringToken::GetString() const
+const svl::SharedString & FormulaStringToken::GetString() const
{
return maString;
}
@@ -1903,7 +1905,7 @@ FormulaToken* FormulaStringOpToken::Clone() const
return new FormulaStringOpToken(*this);
}
-svl::SharedString FormulaStringOpToken::GetString() const
+const svl::SharedString & FormulaStringOpToken::GetString() const
{
return maString;
}
@@ -1943,7 +1945,7 @@ bool FormulaErrorToken::operator==( const FormulaToken& r ) const
}
double FormulaMissingToken::GetDouble() const { return 0.0; }
-svl::SharedString FormulaMissingToken::GetString() const
+const svl::SharedString & FormulaMissingToken::GetString() const
{
return svl::SharedString::getEmptyString();
}