annotate src/protocols/oscar/.todo @ 12233:02833a0ae716

[gaim-migrate @ 14535] SF Patch #1367116 from Michael Carlson "In profiling gaim, I noticed that on simply starting CVS gaim, xmlnode_insert_child is using up by far the most CPU time. After some testing, I realized the reason why: xmlnode_insert_child is called some 18,000 times on startup, and it is inserting the child at the end of the list each time, simply by traversing through the entire linked list. Sometimes this list can have as many as 800 elements. This patch adds a variable to the _xmlnode struct, lastchild, which simply keeps track of the last node in the list of children. This is then used by xmlnode_insert_child to insert at the end of the list, instead of traversing through the whole list each time. The two relevant functions in xmlnode.c that need to be updated to keep track of this function appropriately have been updated. Running 3 times with and without the change, the results from oprofile say it all. Here are the measured number of clock cycles / % of total clock cycles / function used to simply start and close gaim before the change: 204 60.7143 xmlnode_insert_child 210 61.4035 xmlnode_insert_child 230 61.8280 xmlnode_insert_child And after (note that one time no clock cycles were caught at all) 3 2.5862 xmlnode_insert_child 3 2.5641 xmlnode_insert_child This affects other areas of the program than just starting up, but this seems to be the most noticeable place." Speed is good. As I was verifying this patch, I added some g_return_val_if_fail() checks. committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Sun, 27 Nov 2005 03:42:39 +0000
parents 5ec3bd74a3b3
children e66846dafeca
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11683
5ec3bd74a3b3 [gaim-migrate @ 13969]
Luke Schierer <lschiere@pidgin.im>
parents: 9784
diff changeset
1 <todo version="0.1.19">
6805
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
2 <note priority="high" time="1036040788">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
3 watch for aol's upcoming increased aim/icq merge
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
4 </note>
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
5 <note priority="medium" time="1036040405">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
6 AIM
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
7 <note priority="high" time="1036040899">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
8 option to ignore chat room invitations. (this is something you could vary conceivably want to be done per account, so perhaps a protocol action would be best)
5122
63a45bdef573 [gaim-migrate @ 5485]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
9 </note>
9784
d7cc09a9da4c [gaim-migrate @ 10652]
Luke Schierer <lschiere@pidgin.im>
parents: 9479
diff changeset
10 <note priority="medium" time="1092939731">
d7cc09a9da4c [gaim-migrate @ 10652]
Luke Schierer <lschiere@pidgin.im>
parents: 9479
diff changeset
11 buddies in Recent Buddies don't seem to delete right
d7cc09a9da4c [gaim-migrate @ 10652]
Luke Schierer <lschiere@pidgin.im>
parents: 9479
diff changeset
12 </note>
6805
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
13 <note priority="low" time="1036040980">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
14 direct im
9479
fababc25f270 [gaim-migrate @ 10304]
Luke Schierer <lschiere@pidgin.im>
parents: 6805
diff changeset
15 <note priority="medium" time="1063208078" done="1089237715">
6805
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
16 im image currently broke
9479
fababc25f270 [gaim-migrate @ 10304]
Luke Schierer <lschiere@pidgin.im>
parents: 6805
diff changeset
17 <comment>
fababc25f270 [gaim-migrate @ 10304]
Luke Schierer <lschiere@pidgin.im>
parents: 6805
diff changeset
18 marv fixed this i think?
fababc25f270 [gaim-migrate @ 10304]
Luke Schierer <lschiere@pidgin.im>
parents: 6805
diff changeset
19 </comment>
5122
63a45bdef573 [gaim-migrate @ 5485]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
20 </note>
9784
d7cc09a9da4c [gaim-migrate @ 10652]
Luke Schierer <lschiere@pidgin.im>
parents: 9479
diff changeset
21 <note priority="veryhigh" time="1036040919">
d7cc09a9da4c [gaim-migrate @ 10652]
Luke Schierer <lschiere@pidgin.im>
parents: 9479
diff changeset
22 some way to close direct connect w/out closing convo.
d7cc09a9da4c [gaim-migrate @ 10652]
Luke Schierer <lschiere@pidgin.im>
parents: 9479
diff changeset
23 </note>
6805
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
24 <note priority="low" time="1036040970">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
25 canceled direct im should still allow new attempt
5122
63a45bdef573 [gaim-migrate @ 5485]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
26 </note>
6805
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
27 <note priority="low" time="1036041084">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
28 failed direct im attempt should allow new attempt some way to cancel an attempt that isn't happening
5122
63a45bdef573 [gaim-migrate @ 5485]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
29 </note>
63a45bdef573 [gaim-migrate @ 5485]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
30 </note>
6805
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
31 <note priority="low" time="1036041105">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
32 Colors in Chat room are wrong (using Gold too much)
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
33 </note>
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
34 <note priority="verylow" time="1036041121">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
35 Voice Chat
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
36 </note>
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
37 </note>
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
38 <note priority="medium" time="1036040416">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
39 ICQ
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
40 <note priority="veryhigh" time="1036041206">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
41 more privacy options
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
42 </note>
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
43 <note priority="veryhigh" time="1036041223">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
44 increased authorization support
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
45 <note priority="low" time="1038877526" done="1048144786">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
46 add option to add person who just added you to your own list
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
47 <comment>
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
48 This was done sometime in January.
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
49 </comment>
5122
63a45bdef573 [gaim-migrate @ 5485]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
50 </note>
9784
d7cc09a9da4c [gaim-migrate @ 10652]
Luke Schierer <lschiere@pidgin.im>
parents: 9479
diff changeset
51 <note priority="medium" time="1038877503">
d7cc09a9da4c [gaim-migrate @ 10652]
Luke Schierer <lschiere@pidgin.im>
parents: 9479
diff changeset
52 add info to dialog requesting autorization to allow you to check the info of the person who is requesting
d7cc09a9da4c [gaim-migrate @ 10652]
Luke Schierer <lschiere@pidgin.im>
parents: 9479
diff changeset
53 </note>
5122
63a45bdef573 [gaim-migrate @ 5485]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
54 </note>
6805
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
55 <note priority="high" time="1036041199">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
56 color support
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
57 </note>
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
58 <note priority="high" time="1036041251">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
59 set status message and of course when gaim can set them, it needs to be able to get the ones it sets. (yes this is redundant. its a reflection of my current mood)
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
60 </note>
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
61 <note priority="medium" time="1036041165">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
62 Chat (this is different from aim chat)
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
63 </note>
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
64 <note priority="medium" time="1036041190">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
65 New User Registration
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
66 </note>
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
67 <note priority="medium" time="1036041215">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
68 more info support
5122
63a45bdef573 [gaim-migrate @ 5485]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
69 </note>
6805
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
70 <note priority="medium" time="1036041260">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
71 search for users
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
72 </note>
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
73 <note priority="low" time="1036041152">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
74 set the Nickname to be the self-alias
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
75 </note>
9784
d7cc09a9da4c [gaim-migrate @ 10652]
Luke Schierer <lschiere@pidgin.im>
parents: 9479
diff changeset
76 <note priority="low" time="1092939688">
d7cc09a9da4c [gaim-migrate @ 10652]
Luke Schierer <lschiere@pidgin.im>
parents: 9479
diff changeset
77 icq i18n without breaking aim
d7cc09a9da4c [gaim-migrate @ 10652]
Luke Schierer <lschiere@pidgin.im>
parents: 9479
diff changeset
78 </note>
11683
5ec3bd74a3b3 [gaim-migrate @ 13969]
Luke Schierer <lschiere@pidgin.im>
parents: 9784
diff changeset
79 <note priority="verylow" time="1036041174" done="1129563140">
6805
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
80 File Transfer (do we really want this?)
11683
5ec3bd74a3b3 [gaim-migrate @ 13969]
Luke Schierer <lschiere@pidgin.im>
parents: 9784
diff changeset
81 <comment>
5ec3bd74a3b3 [gaim-migrate @ 13969]
Luke Schierer <lschiere@pidgin.im>
parents: 9784
diff changeset
82 summer of code
5ec3bd74a3b3 [gaim-migrate @ 13969]
Luke Schierer <lschiere@pidgin.im>
parents: 9784
diff changeset
83 </comment>
6805
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
84 </note>
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
85 </note>
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
86 <note priority="medium" time="1036040870">
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
87 The order of groups and buddies in the server list is not updated when groups and buddies are re-arranged locally in Gaim.
4fc650abb2dd [gaim-migrate @ 7345]
Luke Schierer <lschiere@pidgin.im>
parents: 5126
diff changeset
88 </note>
5122
63a45bdef573 [gaim-migrate @ 5485]
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
89 </todo>