Objective-C幾種字串處理速度資料測試是本文要介紹的內容,本文內容不多,主要是基於代碼實現資料的測試,具體內容,先來看本文詳細代碼。
測試機器 2.4 GHz Intel Core 2Duo 2GB 667 MHz DDR2 GCC 4.2
- - (void)testStringSpeed:(id)sender
-
- {
- NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
- [textField setStringValue:@""];
- int testi,testnum=10;
- float c,tm=0.0;
- for(testi=0;testi<testnum;testi++){
- NSDate *beg=[NSDate date];
- int i,n=10000000;
- for(i=0;i<n;i++){
- //avg=0.030204
- /*
- {
- //avg=0.594266 記憶體基本穩定不變
- NSString *t=[[NSString alloc] initWithString:@"abccc"];
- [t release];
- }*/
-
- /*
- {
- //avg=0.026101 記憶體基本穩定不變
- NSString *astring = @"abcc";
- }*/
-
- /*
- {
- //avg=0.278873 記憶體基本穩定不變
- NSString *astring = [[NSString alloc] init];
- astring = @"abcc";
- [astring release];
- }*/
-
- /*
- {
- //avg=2.737541 記憶體基本穩定不變
- char *Cstring = "abcc";
- NSString *astring = [[NSString alloc] initWithCString:Cstring];
- [astring release];
- }*/
-
- /*
- {
- //avg=3.619728 記憶體增長過快
- NSString *a=[NSString stringWithString:@"abcc"];
- }*/
-
- /*
- {
- //太長時間,記憶體增長過快
- NSString *a=[NSString stringWithFormat:@"abcc%d",i];
- }
- */
-
- /*
- {
- //avg=0.034632 記憶體基本穩定不變
- char a[]="abcc";
- }*/
-
-
- /*
- {
- //18.1555 記憶體稍有增長
- NSString *a=[[NSString alloc] initWithFormat:@"abcc%d",i];
- [a release];
- }*/
-
- /*
- {
- //avg=2.276076 記憶體基本穩定不變
- char a[32];
- sprintf(a,"abcc%d",i);
- }*/
-
- /*
- {
- //太長時間,記憶體增長過快
- NSMutableString *a=[[NSMutableString alloc] init];
- [a stringByAppendingFormat:@"abcc%d",i];
- [a release];
- }*/
- }
- c=[[NSDate date] timeIntervalSinceDate:beg];
- tm+=c;
- [textField setStringValue:[NSString stringWithFormat:@"%@\n%d=%f",[textField stringValue],testi+1,c]];
- }
- [textField setStringValue:[NSString stringWithFormat:@"%@\navg=%f",[textField stringValue],(float)tm/testnum]];
- [pool release];
- }
小結:解析Objective-C幾種字串處理速度資料測試的內容介紹完了,希望通過本文的學習能讀你有所協助!