Re: [Tracker] questions



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.

its more a precaution.

The Dbs are scalabale up to a million rows or so but some people have
gigabytes of emails and each metadata for an email takes up one row so
one email  might be 10 rows or so (a file is about the same too although
music files will have more about 20 or so)

>
> ok, will see what I can do. if i replaced the DBus calls with
> GObjects, what are the chances of the patch being accepted? :-)

only if it allows multiple threads as I said above to work on *all*
incoming requests and simplifies the code significantly. I generally
dont like the overhead of objects and like to keep tracker procedural in
nature for max speed so such objects need to be lightweight.

yea, with stuff like tracker we probably need all the speed we can get
anyways. :-)

  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

samuel



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