[prev in list] [next in list] [prev in thread] [next in thread] 

List:       nepomuk
Subject:    Re: [Nepomuk] Live Queries
From:       Vishesh Handa <me () vhanda ! in>
Date:       2012-05-11 7:35:36
Message-ID: CAOPTMKBBDNvRtxv_LLOT6FBETi3oDa5vd_TePirinUHYr3=XAQ () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


On Fri, May 11, 2012 at 12:49 PM, Sebastian Trüg <trueg@kde.org> wrote:

> I thought about that before. I actually figured we could try some very
> simple heuristics in the query service to analyze the query and
> configure the resourcewatcher accordingly (that reminds me: I already
> converted the query service to the rw - not sure if I ported that to
> kde-runtime though).
>

Screw it. If everything goes according to plan, we're removing
kde-runtime/nepomuk in another week or so.


>
> the simplest heuristic would be to check for ResourceTypeTerm in the
> main AndTerm (or as the only term) and then configure the RW accordingly.
> That might already take care of those main queries.
>

This seems like a good idea.

Don't you think that sometimes one just might not need live queries?
Specially for the timeline stuff like "Yesterday". There is very little
chance of it changing.


> Cheers,
> Sebastian
>
> On 05/11/2012 09:08 AM, Vishesh Handa wrote:
> > Hey Sebastian and Peter
> >
> > I've noticed that in the latest git version of Dolphin, the side-bar has
> > been updated to show cool stuff like all your Documents, Music and even
> > stuff from timeline.
> >
> > Each of these runs by passing a query to the query service client, which
> > in turn passes it the QueryService. The QueryService runs the query AND
> > waits for changes to the Nepomuk repository. The moment it notices that
> > the repository has changed, it re-runs ALL the queries.
> >
> > This gives us absolutely horrible performance when listing a large
> > number of files. A typical example is listing all the music files when
> > stuff is being indexed. I have a small music collection, just around
> > 35,000 songs. Listing all them takes a lot out of Nepomuk and Dolphin.
> > This will become an even more serious issue when the Telepathy-Nepomuk
> > Service is shipped. It writes even the smallest change to Nepomuk, and
> > that results in all the queries being re-run.
> >
> > Is there any way we can improve this?
> >
> > I was hoping for some kind of 'live query' boolean parameter. Only the
> > queries with that parameter set will be re-run. For simple stuff like
> > querying all the music files or documents (or even Timeline) we could
> > use the ResourceWatcher.
> >
> > What do you guys think?
> >
> > --
> > Vishesh Handa
> >
>



-- 
Vishesh Handa

[Attachment #5 (text/html)]

<br><br><div class="gmail_quote">On Fri, May 11, 2012 at 12:49 PM, Sebastian Trüg \
<span dir="ltr">&lt;<a href="mailto:trueg@kde.org" \
target="_blank">trueg@kde.org</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"> I thought about that before. I actually figured we could try \
some very<br> simple heuristics in the query service to analyze the query and<br>
configure the resourcewatcher accordingly (that reminds me: I already<br>
converted the query service to the rw - not sure if I ported that to<br>
kde-runtime though).<br></blockquote><div><br>Screw it. If everything goes according \
to plan, we&#39;re removing kde-runtime/nepomuk in another week or so.<br> \
<br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<br>
the simplest heuristic would be to check for ResourceTypeTerm in the<br>
main AndTerm (or as the only term) and then configure the RW accordingly.<br>
That might already take care of those main queries.<br></blockquote><div><br>This \
seems like a good idea.<br><br>Don&#39;t you think that sometimes one just might not \
need live queries? Specially for the timeline stuff like &quot;Yesterday&quot;. There \
is very little chance of it changing.<br> <br></div><blockquote class="gmail_quote" \
style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"> <br>
Cheers,<br>
Sebastian<br>
<div class="HOEnZb"><div class="h5"><br>
On 05/11/2012 09:08 AM, Vishesh Handa wrote:<br>
&gt; Hey Sebastian and Peter<br>
&gt;<br>
&gt; I&#39;ve noticed that in the latest git version of Dolphin, the side-bar has<br>
&gt; been updated to show cool stuff like all your Documents, Music and even<br>
&gt; stuff from timeline.<br>
&gt;<br>
&gt; Each of these runs by passing a query to the query service client, which<br>
&gt; in turn passes it the QueryService. The QueryService runs the query AND<br>
&gt; waits for changes to the Nepomuk repository. The moment it notices that<br>
&gt; the repository has changed, it re-runs ALL the queries.<br>
&gt;<br>
&gt; This gives us absolutely horrible performance when listing a large<br>
&gt; number of files. A typical example is listing all the music files when<br>
&gt; stuff is being indexed. I have a small music collection, just around<br>
&gt; 35,000 songs. Listing all them takes a lot out of Nepomuk and Dolphin.<br>
&gt; This will become an even more serious issue when the Telepathy-Nepomuk<br>
&gt; Service is shipped. It writes even the smallest change to Nepomuk, and<br>
&gt; that results in all the queries being re-run.<br>
&gt;<br>
&gt; Is there any way we can improve this?<br>
&gt;<br>
&gt; I was hoping for some kind of &#39;live query&#39; boolean parameter. Only \
the<br> &gt; queries with that parameter set will be re-run. For simple stuff \
like<br> &gt; querying all the music files or documents (or even Timeline) we \
could<br> &gt; use the ResourceWatcher.<br>
&gt;<br>
&gt; What do you guys think?<br>
&gt;<br>
&gt; --<br>
&gt; Vishesh Handa<br>
&gt;<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><span \
style="color:rgb(192,192,192)">Vishesh Handa</span><br><br>



_______________________________________________
Nepomuk mailing list
Nepomuk@kde.org
https://mail.kde.org/mailman/listinfo/nepomuk


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic