Revision 624121

Go back to digest for 21st January 2007

Optimization in KDE Base

Sebastian Trueg committed changes in /trunk/playground/base/nepomuk-kde/kmetadata:

* Made KMetaData thread-safe.
* Improved auto-syncing: let the resource manager sync every n seconds and use as little DBus calls as possible.
Also syncing is done in a background thread. This is not intensely tested yet and may expose the D-Bus threading problems. Not sure yet.
* Speedup:
- Do not merge when saving.
- Only merge (i.e. load data from the store) when properties are read. This makes saving very fast since data is only stored to the RDF repository but never read.
- Add and remove statements in one DBus (i.e. Nepomuk RDFRepository) call
* Added KMetaData speed test: added 1000 resources in 5 seconds. Much better than 100 in 30s, I think. ;)

File Changes

Added 2 files
  • /trunk/playground/base/nepomuk-kde/kmetadata/tests
  •   /speedtest.cpp
  •   /speedtest.h
Modified 11 files
  • /trunk/playground/base/nepomuk-kde/kmetadata
  •   /kmetadata/CMakeLists.txt
  •   /kmetadata/kmetadata.h
  •   /kmetadata/resource.cpp
  •   /kmetadata/resource.h
  •   /kmetadata/resourcedata.cpp
  •   /kmetadata/resourcedata.h
  •   /kmetadata/resourcemanager.cpp
  •   /kmetadata/resourcemanager.h
  •   /kmetadata/tools.h
  •   /kmetadata/variant.cpp
  •   /tests/CMakeLists.txt
13 files changed in total