[webkit-changes] cvs commit: WebKit/Misc.subproj WebIconDatabase.m
Maciej
mjs at opensource.apple.com
Sun Aug 14 17:58:25 PDT 2005
mjs 05/08/14 17:58:25
Modified: . ChangeLog
Misc.subproj WebIconDatabase.m
Log:
Reviewed by Darin.
- 1% speedup on HTML load speed iBench by avoiding icon database thrash
http://bugzilla.opendarwin.org/show_bug.cgi?id=4423
* Misc.subproj/WebIconDatabase.m:
(-[WebIconDatabase _setIconURL:forURL:]): Be more aggressive about returning early, because
updating the database does some expensive data structure copies.
Revision Changes Path
1.3289 +12 -0 WebKit/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebKit/ChangeLog,v
retrieving revision 1.3288
retrieving revision 1.3289
diff -u -r1.3288 -r1.3289
--- ChangeLog 14 Aug 2005 09:12:45 -0000 1.3288
+++ ChangeLog 15 Aug 2005 00:58:22 -0000 1.3289
@@ -1,3 +1,15 @@
+2005-08-14 Maciej Stachowiak <mjs at apple.com>
+
+ Reviewed by Darin.
+
+ - 1% speedup on HTML load speed iBench by avoiding icon database thrash
+ http://bugzilla.opendarwin.org/show_bug.cgi?id=4423
+
+ * Misc.subproj/WebIconDatabase.m:
+ (-[WebIconDatabase _setIconURL:forURL:]): Be more aggressive about returning early, because
+ updating the database does some expensive data structure copies.
+
+
2005-08-14 Duncan Wilcox <duncan at mclink.it>
Reviewed and landed by Darin.
1.59 +10 -4 WebKit/Misc.subproj/WebIconDatabase.m
Index: WebIconDatabase.m
===================================================================
RCS file: /cvs/root/WebKit/Misc.subproj/WebIconDatabase.m,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -r1.58 -r1.59
--- WebIconDatabase.m 21 Jun 2005 18:05:57 -0000 1.58
+++ WebIconDatabase.m 15 Aug 2005 00:58:25 -0000 1.59
@@ -378,13 +378,19 @@
ASSERT(URL);
ASSERT([self _isEnabled]);
ASSERT([self _hasIconForIconURL:iconURL]);
-
- if ([[_private->pageURLToIconURL objectForKey:URL] isEqualToString:iconURL] &&
- [_private->iconsOnDiskWithURLs containsObject:iconURL]) {
+
+ if ([[_private->pageURLToIconURL objectForKey:URL] isEqualToString:iconURL]) {
// Don't do any work if the icon URL is already bound to the site URL
return;
}
-
+
+ if ([_private->iconURLsWithNoIcons containsObject:iconURL]) {
+ // Don't do any work if the icon URL is in the negative cache, it's not
+ // worth doing work just to record that this site is associated with
+ // a nonexistent icon
+ return;
+ }
+
[_private->pageURLToIconURL setObject:iconURL forKey:URL];
[_private->iconURLToPageURLs _web_setObjectUsingSetIfNecessary:URL forKey:iconURL];
More information about the webkit-changes
mailing list