Revision 544480

Go back to digest for 28th May 2006

Optimization in KDE Base

David Faure committed changes in /trunk/KDE/kdelibs:

Speed! Make trader queries much faster by avoiding a linear search in the offers list; pre-calculate the jump offset and store it into each servicetype in ksycoca, so there's no need to search at all anymore.

Also store associations inherited from parent mimetypes into ksycoca
And store initial preferences from the .desktop file into ksycoca (this gets rid of another linear search, and removes a KService->KMimeType dependency, but there's still one left).
Make support for per-mimetype initial preferences available for service types too.

Smaller things:
- Moved temp storage of services into servicetypes out of KService and into kbuildsycoca itself (using a map).
- Moved icon() from kservicetype to kmimetype; kservicetype is too abstract to ever have icons; this simplifies the API too.
- Improve kmimetypetest to run kbuildsycoca first if necessary (for the ksycoca in ~/.kde-unit-test)

File Changes

Modified 24 files
  • /trunk/KDE/kdelibs
  •   /kdecore/ksycoca.h
  •   /kdecore/ksycocafactory.h
  •   /kded/DESIGN
  •   /kded/kbuildmimetypefactory.cpp
  •   /kded/kbuildmimetypefactory.h
  •   /kded/kbuildservicefactory.cpp
  •   /kded/kbuildservicefactory.h
  •   /kded/kbuildsycoca.cpp
  •   /kio/kfile/kpropertiesdialog.cpp
  •   /kio/kio/kfileitem.cpp
  •   /kio/kio/kmimetype.cpp
  •   /kio/kio/kmimetype.h
  •   /kio/kio/kmimetypetrader.cpp
  •   /kio/kio/kservice.cpp
  •   /kio/kio/kservice.h
  •   /kio/kio/kservicefactory.cpp
  •   /kio/kio/kservicefactory.h
  •   /kio/kio/kservicetype.cpp
  •   /kio/kio/kservicetype.h
  •   /kio/kio/kservicetypeprofile.cpp
  •   /kio/kio/kservicetypeprofile.h
  •   /kio/kio/kservicetypetrader.cpp
  •   /kio/tests/kmimetypetest.cpp
  •   /kio/tests/kmimetypetest.h
24 files changed in total