Re: [Tracker] questions



Samuel Cormier-Iijima wrote:
On 9/15/06, Jamie McCracken <jamiemcc blueyonder co uk> wrote:
Our dbus connection uses the main thread's mainloop where we place
incoming request on an async queue which can be serviced by multiple
threads from a threadpool.

When tracker becomes popular and is used by more third party apps  we
will need more than one thread here to handle concurrent requests in a
timely manner.

I am not sure how what you say can help here but feel free to prove
otherwise. (you woulkd only have one connection/thread with your
suggestion?)
Of course, the rationale I had in mind for using GObjects was not
performance, but cleaner and easier to maintain code (with relatively
little lost performance). If you're planning on Tracker becoming the
backend for things such as music players (i.e., display all their
music just through Tracker queries), I would argue that perhaps DBus
isn't the best infrastructure for that... If I recall correctly, DBus
has a 64 Mb limit for data sent over the bus, and currently my index
is at about 25 Mb... performance would probably be worse than a custom
coded Unix socket IPC solution.
It shouldn't be a problem in practice as results can be paged (offset 
and max_hits parameters). Very few (or rather badly writtem) apps would 
want to download everything in one go.
Client/server database apps (and tracker is one of these) are designed 
to give data to clients on a need to know basis. For rhythmbox and other 
music databses the ideal scenario  is to query tracker's database 
instead of downloading all music uri's into its own propriety database. 
For an email app, it would simply get results from tracker in lumps as a 
user scrolls up/down - there really is not a need to download 
everything. (if there were ever a case where it did need to get 
everything then using sqlite directly would make more sense)
When used correctly these clients have excellent performance and minimal 
resource usage as socket traffic is reduced to negligible amounts.
  also,
> on that note, like you said, it might be a good idea to get some unit
> tests into tracker. i've been coding up some "stress tests" python
> scripts, and can send them if you'd like.

yes please that would help more than coding the above in gobjects.

i have class right now but will look into it

great thanks.

--
Mr Jamie McCracken
http://jamiemcc.livejournal.com/




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]