git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@3141 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
richard 1998-10-28 15:14:03 +00:00
parent 8afda86cac
commit 4050627c7b

View file

@ -76,35 +76,47 @@ printf("%u\n", [arc retainCount]);
printf("%s\n", [o cString]); printf("%s\n", [o cString]);
} }
#if 0
/*
* Benchmark use of very lightwight archiving - a single
* archiver/unarchiver pair using a single mutable data object to
* archive and unarchive many times.
*/
{ {
NSDate *start = [NSDate date]; NSDate *start = [NSDate date];
NSAutoreleasePool *arp = [NSAutoreleasePool new]; NSAutoreleasePool *arp = [NSAutoreleasePool new];
int i; int i;
NSUnarchiver *u = nil; NSUnarchiver *u = nil;
NSArchiver *a = [NSArchiver new]; NSMutableData *d;
NSArchiver *a;
d = [NSMutableData data];
a = [[NSArchiver alloc] initForWritingWithMutableData: d];
[NSAutoreleasePool enableDoubleReleaseCheck:NO]; [NSAutoreleasePool enableDoubleReleaseCheck:NO];
for (i = 0; i < 10000; i++) { for (i = 0; i < 10000; i++)
NSMutableData *d; {
id o; id o;
[a encodeRootObject: set]; [a encodeRootObject: set];
d = [a archiverData]; if (u == nil)
if (u == nil) { {
u = [[NSUnarchiver alloc] initForReadingWithData: d]; u = [[NSUnarchiver alloc] initForReadingWithData: d];
} }
else { else
{
[u resetUnarchiverWithData: d atIndex: 0]; [u resetUnarchiverWithData: d atIndex: 0];
} }
o = [u decodeObject]; o = [u decodeObject];
[d setLength: 0]; [d setLength: 0];
[a resetArchiver]; [a resetArchiver];
} }
[a release]; [a release];
[u release]; [u release];
[arp release]; [arp release];
printf("Time: %f\n", -[start timeIntervalSinceNow]); printf("Time: %f\n", -[start timeIntervalSinceNow]);
} }
#endif
/* Do the autorelease. */ /* Do the autorelease. */
[arp release]; [arp release];