[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