Hi list,

LXMusic is a async. XMMS2 Client.

On start up, when playlist content is received, LXMusic requests info
about each track via "xmmsc_medialib_get_info".

First of all this implies a lot if IPC Traffic (one round-trip for
each track). Is there any way to do "bulk loading"?

But the real bottleneck is the server-side sqlite3 backend. XMMS2
doesn't use persistent sqlite connections. I "straced" xmms2d and the
results confirm this (playlist of 3030 entries):

COUNT  PID   SYSCALL
15150    7704  access("/home/juergen/.config/xmms2/medialib.db-journal",
F_OK) = -1 ENOENT (No such file or directory)
3030      7704
open("/home/juergen/.config/xmms2/medialib.db-journal",
O_RDWR|O_CREAT|O_LARGEFILE, 0644) = 12
3030      7704  open("/home/juergen/.config/xmms2/medialib.db",
O_RDWR|O_CREAT|O_LARGEFILE, 0644) = 11
3030      7704  open("/home/juergen/.config/xmms2", O_RDONLY|O_LARGEFILE) = 13
3030      7704  stat64("/home/juergen/.config/xmms2/medialib.db",
{st_mode=S_IFREG|0644, st_size=12507136, ...}) = 0
3030      7704  unlink("/home/juergen/.config/xmms2/medialib.db-journal") = 0

So sqlite3_open/sqlite3_close is called for each request. Is this
really intended? I found various pragma's on connection setup like:


        sqlite3_exec (sql, "PRAGMA cache_size = 8000", NULL, NULL, NULL);

Caching is not really useful when using non-persistent connections. Any hints?

Jürgen

--
_______________________________________________
Xmms2-devel mailing list
[email protected]
http://lists.xmms.se/cgi-bin/mailman/listinfo/xmms2-devel

Reply via email to