Author: rfm
Date: Thu Jul 16 11:30:57 2015
New Revision: 38805

URL: http://svn.gna.org/viewcvs/gnustep?rev=38805&view=rev
Log:
minor performance tweaks

Modified:
    libs/base/trunk/Source/NSArray.m
    libs/base/trunk/Source/NSDictionary.m
    libs/base/trunk/Source/NSSet.m

Modified: libs/base/trunk/Source/NSArray.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/NSArray.m?rev=38805&r1=38804&r2=38805&view=diff
==============================================================================
--- libs/base/trunk/Source/NSArray.m    (original)
+++ libs/base/trunk/Source/NSArray.m    Thu Jul 16 11:30:57 2015
@@ -1971,12 +1971,15 @@
   if (size > 0)
     {
       NSUInteger       count = [self count];
+      GS_BEGINIDBUF(objects, count);
 
       size += count*sizeof(void*);
+      [self getObjects: objects];
       while (count-- > 0)
        {
-         size += [[self objectAtIndex: count] sizeInBytesExcluding: exclude];
-       }
+         size += [objects[count] sizeInBytesExcluding: exclude];
+       }
+      GS_ENDIDBUF();
     }
   return size;
 }

Modified: libs/base/trunk/Source/NSDictionary.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/NSDictionary.m?rev=38805&r1=38804&r2=38805&view=diff
==============================================================================
--- libs/base/trunk/Source/NSDictionary.m       (original)
+++ libs/base/trunk/Source/NSDictionary.m       Thu Jul 16 11:30:57 2015
@@ -1241,9 +1241,8 @@
       size += 3 * sizeof(void*) * count;
       if (count > 0)
         {
-         NSAutoreleasePool     *pool = [NSAutoreleasePool new];
-         NSEnumerator          *enumerator = [self keyEnumerator];
-         NSObject              *k;
+         NSEnumerator  *enumerator = [self keyEnumerator];
+         NSObject      *k;
 
          while ((k = [enumerator nextObject]) != nil)
            {
@@ -1252,7 +1251,6 @@
              size += [k sizeInBytesExcluding: exclude];
              size += [o sizeInBytesExcluding: exclude];
            }
-         [pool release];
        }
     }
   return size;

Modified: libs/base/trunk/Source/NSSet.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/NSSet.m?rev=38805&r1=38804&r2=38805&view=diff
==============================================================================
--- libs/base/trunk/Source/NSSet.m      (original)
+++ libs/base/trunk/Source/NSSet.m      Thu Jul 16 11:30:57 2015
@@ -1010,7 +1010,6 @@
       size += 3 * sizeof(void*) * count;
       if (count > 0)
         {
-          NSAutoreleasePool     *pool = [NSAutoreleasePool new];
           NSEnumerator          *enumerator = [self objectEnumerator];
           NSObject              *o;
 
@@ -1018,7 +1017,6 @@
             {
               size += [o sizeInBytesExcluding: exclude];
             }
-          [pool release];
         }
     }
   return size;


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to