| commit | f86a0666ac337363b470c9c67fa0970a330b26a2 | [log] |
|---|---|---|
| author | Eike Rathke <erack@redhat.com> | Sat Nov 12 21:12:18 2022 +0100 |
| committer | Eike Rathke <erack@redhat.com> | Sat Nov 12 22:38:57 2022 +0100 |
| tree | 1fdc05ea0ff17fe706fa449d9e4dca60dc0474ff | |
| parent | 755e6939adc9b8b1322f739c8143ae1a7e2995a3 [diff] |
Resolves: tdf#152014 When reusing interpreter context slot clear lookup cache ... if different doc As is, unthreaded the same slot gets reused for every calculation. That could benefit from keeping 2-3 documents cached to not throw away the lookup cache each time when alternating between documents. Change-Id: Id024333f72bcdcd6109042dec1104f3029955d3b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142639 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
diff --git a/sc/source/core/tool/interpretercontext.cxx b/sc/source/core/tool/interpretercontext.cxx index 0df4a84..e66a8b9 100644 --- a/sc/source/core/tool/interpretercontext.cxx +++ b/sc/source/core/tool/interpretercontext.cxx
@@ -53,7 +53,11 @@ void ScInterpreterContext::ResetTokens() void ScInterpreterContext::SetDocAndFormatter(const ScDocument& rDoc, SvNumberFormatter* pFormatter) { mpDoc = &rDoc; if (mpDoc != &rDoc) { mxScLookupCache.reset(); mpDoc = &rDoc; } mpFormatter = pFormatter; }