Bug 349410 - Collection merging for large file catalogs seems inefficient
Summary: Collection merging for large file catalogs seems inefficient
Status: RESOLVED FIXED
Alias: None
Product: tellico
Classification: Applications
Component: general (show other bugs)
Version: 2.3.10
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Robby Stephenson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-20 11:09 UTC by Robby Stephenson
Modified: 2019-02-11 02:09 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 3.2


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robby Stephenson 2015-06-20 11:09:03 UTC
See https://forum.kde.org/viewtopic.php?f=200&t=126920

> [The progress bar] stops [at 99%] for 6 minutes (for 3000 files + 1 new file for the sake of the test). 

Reproducible: Always
Comment 1 Robby Stephenson 2019-02-11 02:09:33 UTC
Git commit 94fab242628ed4b1bf50685a06e829b8812fd6e8 by Robby Stephenson.
Committed on 11/02/2019 at 02:08.
Pushed by rstephenson into branch 'master'.

Check if entry match is good enough after every field comparison

Avoid needless comparisons if the threshold for a perfect match is
already met.
FIXED-IN: 3.2

M  +5    -1    ChangeLog
M  +5    -4    src/collection.cpp
M  +8    -0    src/collections/bookcollection.cpp
M  +23   -11   src/collections/comicbookcollection.cpp
M  +6    -5    src/collections/filecatalog.cpp
M  +12   -9    src/collections/musiccollection.cpp
M  +18   -11   src/collections/videocollection.cpp
M  +5    -3    src/entrycomparison.cpp
M  +4    -3    src/entrycomparison.h

https://commits.kde.org/tellico/94fab242628ed4b1bf50685a06e829b8812fd6e8
Comment 2 Robby Stephenson 2019-02-11 02:09:33 UTC
Git commit 965a6040538b9b0a21c5267d2f3b0124182fe6ce by Robby Stephenson.
Committed on 11/02/2019 at 01:52.
Pushed by rstephenson into branch 'master'.

Optimize Document::mergeCollection() a bit

Remove comparison of title with articles removed. The time needed to
strip articles is very onerous in a big collection comparison and other
fields should allow the entry to match, even if one title has an article
and the other doesn't.

M  +5    -6    src/document.cpp
M  +1    -1    src/entry.cpp
M  +32   -27   src/entrycomparison.cpp
M  +2    -2    src/entrycomparison.h
M  +3    -1    src/fieldformat.cpp
M  +18   -18   src/tests/collectiontest.cpp

https://commits.kde.org/tellico/965a6040538b9b0a21c5267d2f3b0124182fe6ce