开发者

Is there a way to speed up this Objective-C string assignment?

I'm doing a "stress test", I need to know how long it takes to do recursive operations in iPhone / iPad.

For example:

//"key" is defined in header.

for(int a=0;a<200;a++){
    for(int g=0;g<200;g++){

 key = @"hi";

    }
}

Do this value assignment (40.000 times) takes 6ms in iPad. But, if I do that:

for(int a=0;a<200;a++){
    for(in开发者_运维问答t g=0;g<200;g++){

 key = [NSString stringWithFormat:@"%i,%i",a,g]; 

    }
}

It takes almost 1 second!! For my application, I need to do this assignment more faster than this, someone knows another way to do?


for(int a=0;a<200;a++){
    for(int g=0;g<200;g++){
        char str[10];
        snprintf(str, 10, "%d,%d", a,g);
        key = [NSString stringWithCString:str encoding:NSASCIIStringEncoding];
    }
}

Runs 4 times as fast on my old ipod touch 2g

Time old: 4.303022833333
Time new: 1.117406833333

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜