GNOME Bugzilla – Bug 684898
empathy-chat is very slow to start
Last modified: 2012-10-08 20:19:25 UTC
On my 8 core, 8GB machine opening an Empathy window takes ~6s. An empty one that is, with no history, to somebody I never have talked to before, i.e. totally pristine. (Talking to somebody with a history takes even longer...) I can boot up my kernel, initrd and userspace in less time than that... Not sure what Empathy is doing there, but really, 6s is enough to make empathy feel very sluggish and no fun at all. Using the G+ chat in firefox is much faster, as they take at max 2s to start-up.
~$ rpm -qa empathy empathy-3.5.92-2.fc18.x86_64
This is because of folks: https://bugzilla.gnome.org/show_bug.cgi?id=671636 But IMO empathy-chat should not load folks at all, showing the merged contact instead of the individual you're chatting with is useless waste of CPU/RAM.
Folks is indeed taking a lot of time to load but 6 seconds is indeed way too much. I just tested with the same version on my Eee test box and it took less than 2 seconds to open the chat window. Do you have a huge evolution address book configured like a big LDAP or something?
(In reply to comment #3) > Do you have a huge evolution address book configured like a big LDAP or > something? I nevered used Evolution and never hand-added any contacts to the evolution address book. However, I sign up to my Facebook and Google account, which together have ~2000 addresses or so.
Your google account is setup in gnome-online-accounts? which would make EDS important your google contacts... But yeah 2000 is clearly above what folks can reasonably handle, which is a shame I agree ;)
(In reply to comment #2) > This is because of folks: https://bugzilla.gnome.org/show_bug.cgi?id=671636 This certainly looks possible. Let's set that as a blocker rather than make this a duplicate, since it's possible there's more going on than this EDS (backend) bottleneck. > But IMO empathy-chat should not load folks at all, showing the merged contact > instead of the individual you're chatting with is useless waste of CPU/RAM. I humbly disagree. In any system I've got contacts from multiple sources (including my phone, etc.), I want one consistent view of each person. Specific usernames and which service they're on are really uninteresting to me. I'm interested in who I'm actually talking with.
Just make it fast, people. No synchronous operations, cache, whatever it takes.
Lennart: any chance you could test this branch and check if it improves things for you? http://cgit.collabora.com/git/user/cassidy/empathy/log/?h=empathy-chat-684898 git://git.collabora.co.uk/git/user/cassidy/empathy empathy-chat-684898 It's a bit hacky but I think it should really improve the reactivity of empathy-chat. You'll have to build it and replace /usr/libexec/empathy-chat by the one in src/empathy-chat to make sure it's invoked when starting your first conversation.
+ g_value_set_pointer (value, self->priv->individual_mgr); g_value_set_object() no?
(In reply to comment #9) > + g_value_set_pointer (value, self->priv->individual_mgr); > > g_value_set_object() no? Good catch, fixed. I'm going to release 3.6.0.1 soon. I'd appreciate feedback from people experiencing this issue to know if that improves things for them.
(In reply to comment #8) > Lennart: any chance you could test this branch and check if it improves things > for you? > > http://cgit.collabora.com/git/user/cassidy/empathy/log/?h=empathy-chat-684898 > git://git.collabora.co.uk/git/user/cassidy/empathy empathy-chat-684898 > > It's a bit hacky but I think it should really improve the reactivity of > empathy-chat. You'll have to build it and replace > /usr/libexec/empathy-chat by the one in src/empathy-chat to make sure it's > invoked when starting your first conversation. Tried this. Didn't work. Starting empathy-chat just spits out this and hangs: $ /usr/libexec/empathy-chat ** (lt-empathy-chat:21469): WARNING **: couldn't load Empathy's default theme template: Failed to open file '/usr/local/share/empathy/Template.html': No such file or directory ** (lt-empathy-chat:21469): CRITICAL **: file empathy-theme-adium.c: line 2045 (empathy_adium_data_new_with_info): should not be reached I/O warning : failed to load external entity "/usr/local/share/empathy/empathy-chatroom-manager.dtd" (lt-empathy-chat:21469): empathy-WARNING **: Failed to validate file:'/home/lennart/.config/Empathy/chatrooms.xml'
OK, let's redo this with --prefix=/usr...
(In reply to comment #12) > OK, let's redo this with --prefix=/usr... Much much better. The chat window opens in <1s now. Closing is a bit above 1s on first attempt, but that's OK, too I guess. I am happy. Thanks for fixing this!
Cool, thanks for testing!