Issue 81336 - Implement caching strategy for VLOOKUP and MATCH
Summary: Implement caching strategy for VLOOKUP and MATCH
Status: CLOSED FIXED
Alias: None
Product: Calc
Classification: Application
Component: code (show other issues)
Version: 680m226
Hardware: All All
: P3 Trivial (vote)
Target Milestone: ---
Assignee: frank
QA Contact: issues@sc
URL:
Keywords: performance
Depends on:
Blocks:
 
Reported: 2007-09-06 22:26 UTC by ooo
Modified: 2013-08-07 15:14 UTC (History)
1 user (show)

See Also:
Issue Type: ENHANCEMENT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
test case needing 75s to load on my machine (226.20 KB, application/vnd.oasis.opendocument.spreadsheet)
2007-09-06 22:28 UTC, ooo
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description ooo 2007-09-06 22:26:05 UTC
VLOOKUP and MATCH would benefit from a caching strategy, especially when
performing non-range unsorted lookups where no binary search is possible.
See http://wiki.services.openoffice.org/wiki/Calc/To-Dos/Performance/VLOOKUP
Comment 1 ooo 2007-09-06 22:28:45 UTC
Created attachment 48026 [details]
test case needing 75s to load on my machine
Comment 2 ooo 2007-09-06 22:29:45 UTC
Started.
Comment 3 ooo 2007-09-07 14:51:17 UTC
In cws calc44:

sc/inc/address.hxx  1.13.96.1
sc/inc/document.hxx  1.102.38.2
sc/inc/Attic/lookupcache.hxx  1.1.2.1
sc/source/core/data/documen2.cxx  1.66.40.1
sc/source/core/inc/interpre.hxx  1.30.64.1
sc/source/core/tool/interpr1.cxx  1.50.38.1
sc/source/core/tool/Attic/lookupcache.cxx  1.1.2.1
sc/source/core/tool/makefile.mk  1.22.40.1

Loading the test case document now takes 10s instead of 75s on my machine.
Changing the value in Sheet2.A1 and switching back to Sheet1 now takes 5s
instead of 70s.
Comment 4 niklas.nebel 2007-09-18 13:41:44 UTC
Reassigning to QA for verification.
Comment 5 frank 2007-09-26 14:39:08 UTC
found fixed on cws calc44 using Solaris, Linux and Windows build.
Comment 6 frank 2007-12-14 12:50:47 UTC
found integrated on master m239 using Linux, Solaris and Windows build