Optional persistent folder metadata info cache
Open, WishlistPublic

Description

Description

One of the endemic features of Dolphin I find indispensable is folder size display based on its contents, currently up to N levels, and that is because the recursive check is performed every time the folder is accessed, which is not only wasteful, but also slows down Dolphin's operation on fuller disks if N is large enough.

I propose an optional persistent store of tree or similar structure of folder sizes, which would not need to be rebuilt every time, but on rarer occasions, such as discrepancy upon folder access or optional file watch system, to track changes in real time, as needed.

This would also enable Filelight to be the manual rebuilder or process disks much faster by utilizing this cache to skip folders on size matches.

I believe that this connects to "control over digital life" part of the vision by allowing more immediate info on fillup of data storage from the point of view of the currently accessed folder, and that someone might find fruits of this task useful enough to mandate a more complex metadata storage system in the future for the same reason of reducing redundant reads over large amount of files/folders.

What it will take

PoC of this improvement would need at least a mechanism to build this cache, load part of it in Dolphin from the point of current directory, and compare it's current information against 1 or 2 levels deep check upon folder access, which might be able to re-use currently-used check system in Dolphin, although that would be up to someone experienced in Dolphin's development to assess.

How we know we succeeded

This can be benchmarked on large archival storage system (that is, with minimum amount of changes per day) that has high-latency (HDDs) or low bandwidth (USB 2.0 flash storage, SD cards), working PoC should have accurate or almost accurate result within time it takes to at least read the information from cache, and then correct it as needed, both insuperably faster than current implementation set to check size 20 levels deep.

Relevant links

TODO as needed

Champions

As of writing this I have no champions on my own and I am currently bound by my current obligations until Q4, limiting my current usefulness to just testing, but as stated above this needs someone well-versed in Dolphin's current development, preferably also someone knowing Filelight's internals to optimize for performance.

I am willing to put work into this

  • Marcin Dąbrowski (testing/benchmarking)

I am interested

  • Marcin Dąbrowski
mardab created this task.Jun 20 2024, 2:17 PM
lydia triaged this task as Wishlist priority.Jun 21 2024, 11:57 AM
lydia moved this task from Backlog to Not ready for voting on the Goal Setting 2024 board.

This is a feature request, no?

frdbr added a subscriber: frdbr.Jul 29 2024, 3:53 PM
frdbr added a comment.Aug 10 2024, 3:36 PM

Hi @mardab, as stated, your proposal is focused on Dolphin and too narrow for a KDE Goal. I suggest you file it as a feature request at the tracker. Thanks for your participation.

frdbr added a comment.Aug 12 2024, 7:38 PM

Hello,

Please note that the deadline just around the corner on Wednesday, so now is the time to finalize your proposal. Remember that proposals without a Goal Champion will be disqualified, so this step is crucial to ensure your idea moves forward. If you need help or have any questions, please let me know.

If you’re unable to finish your proposal but still want to participate, consider contributing to other ongoing tasks.

Thank you for submitting your ideas for the KDE Goals!