KPackage makes use of QJsonDocument's ability to convert from/to a binary representation. This is deprecated in favor of using CBOR.
Since I assume the two are incompatible we likely need a migration strategy for existing data
KPackage makes use of QJsonDocument's ability to convert from/to a binary representation. This is deprecated in favor of using CBOR.
Since I assume the two are incompatible we likely need a migration strategy for existing data
This data is only used to speed up the listing/querying of the packages. The files could be recreated using the information that is already on disk. Some actual benchmarks will help to evaluate the situation.
I will look into this once the exams are done.
@mart I used https://invent.kde.org/frameworks/kpackage/commit/8f3313481b33e7401ab994606ba6b71e18b72366 for my benchmarks. There are actually two types of caches, one is the in memory one and the other one the kpluginindex.json one. I cleared the in memory cache to make sure they are newly loaded. @mart is that correctly done?
The results can be found here: https://invent.kde.org/-/snippets/1572
> I cleared the in memory cache to make sure they are newly loaded. @mart is that correctly done?
yes :)
Also, some general considerations:
back then when measuring the performance gain offered by that index was measurable, but somewhat small anywyas... if the format gets ported we don-t need a migration strategy as the index is not necessary and canbe recreated, but if the on disk index is just killed... i think all considered i wouldn-t be against such a decision
I will do some general investigation/cleanup of the users in the KCMs. The way the KNS signals are handled is very inefficient and we could significantly reduce the amount of times we use KPackage to list all packages.
I am currently working on this and related issues on the KNS framework side. It is good to have anyways and allows us to get a better overview of the usages and we can better assess the performance implications.
Removed the caching in https://invent.kde.org/frameworks/kpackage/-/merge_requests/14