[Libreoffice-bugs] [Bug 136838] New: AutoFilter Improvement: Use "Not Equal" (i.e., <>) when we selected all but one item
bugzilla-daemon at bugs.documentfoundation.org
bugzilla-daemon at bugs.documentfoundation.org
Thu Sep 17 08:47:07 UTC 2020
https://bugs.documentfoundation.org/show_bug.cgi?id=136838
Bug ID: 136838
Summary: AutoFilter Improvement: Use "Not Equal" (i.e., <>)
when we selected all but one item
Product: LibreOffice
Version: 6.4.6.2 release
Hardware: All
OS: Linux (All)
Status: UNCONFIRMED
Severity: enhancement
Priority: medium
Component: Calc
Assignee: libreoffice-bugs at lists.freedesktop.org
Reporter: suokunlong at 126.com
Created attachment 165612
--> https://bugs.documentfoundation.org/attachment.cgi?id=165612&action=edit
test ODS file with autofilter
Assume a column contains n items. When we open the autofilter and un-selected
one, then we have n-1 items selected. Doing this filter with AutoFilter is slow
because it seems to be using the "x in n-1" logic. However, doing this filter
with Standard Filter is fast if we use "Not Equal" logic.
Steps to Reproduce:
1. Open the attached test ODS file
2. Click the autofilter in column A, and de-select the 1st item (i.e., #N/A),
then click OK.
--> Slow, it takes more than 8s.
3. Use Standard Filter, and set condition "POMatch <> #N/A", then click OK.
--> Fast, it takes 1s.
Apparently, if we deselect only one item, the condition is the same as <> that
item. It should be more expensive to compare the value to see whether it is in
the n-1 list.
Actually, if we de-select several items (e.g., 3 items), it would still be
faster to use "(x <> a) and (x <> b) and (x <> c)". However, if the deselected
items are quite a lot, the "x in n-1" logic should be faster.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20200917/0c8f9c23/attachment.htm>
More information about the Libreoffice-bugs
mailing list