https://bugs.documentfoundation.org/show_bug.cgi?id=160081

--- Comment #1 from Kevin Suo <[email protected]> ---
There are two areas to optimize here:

First:

The slowness seems to be related to the settings in "Options > LibreOffice Calc
> Calculation > Enable wildcards in formulas". When this is disabled, it only
takes 11 seconds to run. So, why is this enabled by default? The help page
seems to explain that "Enable wildcards in formulas for spreadsheets that need
to be interoperable with Microsoft Excel", I agree we need interoperability,
but should we reconsider this:

For formula:
=VLOOKUP(A2,$Sheet1.A:A,1,0)
and any cells in column A may (or may not) a wildcard, then does the user
really intended to do vlookup with wildcard? I don't think so. If the first
parameter of this function is a cell reference, we can assume that we simply
want to find the exact math in Sheet1.A:A. Sheet2 column A may contain millions
of cells, it makes no sense to the user to include wildcards in so many cells
for a vlookup.

However, for a formula:
=VLOOKUP("Foo*",$Sheet1.A:A,1,0)
We can assume that the user intended to use wildcard in the vlookup in case
"Enable wildcards in formulas" is enabled. This is because, when fill the
formula down to other rows, the first paramter to this function is always
"Foo*", and it is not a cell reference - it is something typed in manually by
the user.

Second:

Even if we still use wildcards by default, there are rooms to optimize the
vlookup related codes, given that Excel only uses 85s with 2 CPUs compared with
out 6min with 8 cpus.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to