[Nepomuk] Review Request: Remove special handling for rdf:type
Vishesh Handa
me at vhanda.in
Sat Jul 14 07:10:10 UTC 2012
> On July 12, 2012, 9:49 a.m., Sebastian Trueg wrote:
> > libnepomukcore/resource/resourcedata.cpp, line 71
> > <http://git.reviewboard.kde.org/r/105517/diff/1/?file=72090#file72090line71>
> >
> > Why do you still need variable m_types when the point is to remove the special handling?
>
> Vishesh Handa wrote:
> For new resources. When you create a new Resource via Resource( QUrl(), NCO::Contact() ), the type needs to be saved when the resource is created. Though I think I could simplify the code by making it a simple QUrl instead of a list.
>
> I'll try it out.
>
> Sebastian Trueg wrote:
> Can't you just put it into the cache and save everything in the cache in ResourceData::store()?
Possibly. But I think that might complicate stuff with the shared hash. Not sure right now.
Anyway, that would go in a separate patch.
> On July 12, 2012, 9:49 a.m., Sebastian Trueg wrote:
> > libnepomukcore/resource/resourcedata.h, line 92
> > <http://git.reviewboard.kde.org/r/105517/diff/1/?file=72089#file72089line92>
> >
> > hasType(const Types::Class& type)
> > would be cool instead. Internally it could use property()
>
> Vishesh Handa wrote:
> In ResourceData? Or did you mean in Resource?
>
> Sebastian Trueg wrote:
> I meant Resource, yes.
I was changing hasType(), addType(), and setTypes, but then I noticed that I'll have to change the list from QList<Type::Class> to QList<QUrl>. Do you really want this?
- Vishesh
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/105517/#review15719
-----------------------------------------------------------
On July 14, 2012, 7:08 a.m., Vishesh Handa wrote:
>
> -----------------------------------------------------------
> 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.
>
>
> 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
> -----
>
> 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/325051a2/attachment.html>
More information about the Nepomuk
mailing list