[Nepomuk] Review Request: Remove special handling for rdf:type

Vishesh Handa me at vhanda.in
Sat Jul 14 07:08:05 UTC 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/105517/
-----------------------------------------------------------

(Updated July 14, 2012, 7:08 a.m.)


Review request for Nepomuk and Sebastian Trueg.


Changes
-------

Use a single variable m_type instead of a list QList<QUrl>.


Description
-------

Remove special handling for rdf:type

This includes storing the maintype when loading all the properties. This
simplifies the code base, and actually improves performace.

Because the type deduction is done during load time, the relevant types
needed to be loaded into memory by Types::EntityPrivate, this increases
the load time for each resource by an order of 5x. This extra load
eventually goes down when all the required types are loaded, but it's
there.

Also, the additional cost of infering the type each time doesn't seem to
have any performance loss. Mainly cause everything is already in memory.

Another reason for this patch is the planned refactoring of the class
internals to use shared memory. Every extra variable in ResourceData
adds an overhead.


Diffs (updated)
-----

  CMakeLists.txt 4d5ae3f971ddd7479ea711097323fd034caecb66 
  Info.plist.template PRE-CREATION 
  includes/CMakeLists.txt 4ac2d7cfcba1522eb73b432533a08b3fd1e148b3 
  includes/Query/ResultIterator PRE-CREATION 
  libnepomukcore/CMakeLists.txt 066c8986dfa2b3150072dbd96a71caf8873cea06 
  libnepomukcore/datamanagement/createresourcejob.h 7abf51d4c9c3a4bd0c4036234dae006c7b10bfb8 
  libnepomukcore/datamanagement/resourcewatcher.cpp 0cd846afc8ceb15c7f3614c5f3a0705c76700b24 
  libnepomukcore/misc/utils.cpp 28747226e631c17767061cbf7bf70e990dc53608 
  libnepomukcore/query/comparisonterm.cpp 64e5a37e33e73a6828690a9a4a12e2e5215af131 
  libnepomukcore/query/dbusoperators.cpp 055ea8503b31cee1770de8984f3e829dc92c4437 
  libnepomukcore/query/queryserializer.cpp 0d8bc7ecc42d8be4d787e31b7dceabfe4ede2759 
  libnepomukcore/query/resourceterm.cpp d539f4dd6ebf8362a4d240a8280be05a1a4efb94 
  libnepomukcore/query/resultiterator.h PRE-CREATION 
  libnepomukcore/query/resultiterator.cpp PRE-CREATION 
  libnepomukcore/query/term.cpp c99a49e2dc0b5a95ad34ca2bfedb22717e3ca3f3 
  libnepomukcore/resource/resource.h 3cc30c2cbc44e6e3f5c6fb6218df811d0104950c 
  libnepomukcore/resource/resource.cpp c237f44c1420929143299aab391a0f2a7709f894 
  libnepomukcore/resource/resourcedata.h 370889700cb93dbf93bc6cb4b498fab2470cafba 
  libnepomukcore/resource/resourcedata.cpp 6fa262f955936637f48c81b0cce6ac9069f37167 
  libnepomukcore/resource/resourcemanager.cpp bfbb610ca2bd286114588ea80a3f4c68c540b93c 
  libnepomukcore/resource/tag.h d5eb11bd3e68a3c4bbeb5a3ed3412c38e73186a1 
  libnepomukcore/resource/tag.cpp 14ad18f9ab9b322951e6bf994117687509d1c35d 
  libnepomukcore/resource/variant.cpp 9d391ce83baaa695cb149408c6c25b9c52d35862 
  libnepomukcore/test/resourcetest.cpp 82e26c36436f58774b3b86fe1a25d084a65a6217 
  libnepomukcore/test/tagwidgettest.cpp c7b37c1720a31a0451977a7e5b4d4d0af0ac91a9 
  services/backupsync/gui/syncfileidentifier.cpp 0837b26ca1021055e054fa62c0c650269d323fd0 
  services/backupsync/lib/resourceidentifier.cpp 14e85f1124a8e4e8035ad8f044da11043c4fd6ca 
  services/backupsync/lib/test/nepomuksynctests.cpp a9cc2f19b399557bddaca0b19f6d875837fe6cfd 
  services/backupsync/service/syncmanager.cpp dbeef86995f3a936a306d15283587aabd2772a45 
  services/queryservice/folder.cpp 8f82f161868872e255c8b5addf7fefaf17c6e2e7 
  services/queryservice/folderconnection.cpp 3bc20f52b3d0428f025c1faaeee5625ab980d431 
  services/queryservice/searchrunnable.cpp 522d6f94c5c897b2537698d2bd764d666f917c98 

Diff: http://git.reviewboard.kde.org/r/105517/diff/


Testing
-------

Manual + Unit Testing :)


Thanks,

Vishesh Handa

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/nepomuk/attachments/20120714/248cfd8c/attachment-0001.html>


More information about the Nepomuk mailing list