次の2つのコードスニペットにパフォーマンス上の違いはありますか?
NSString* str = [[NSString alloc] initWithFormat:@"%i", 10];
// Do something with |str|.
[str release];
NSAutorelasePool* pool = [[NSAutreleasePool alloc] init];
NSString* str = [NSString stringWithFormat:@"%i", 10];
// Do something with |str|.
[pool drain];
可能な限りファクトリメソッドの使用を提案しようとしている人がいます。プールが空になったときよりも、できるだけ早くオブジェクトを解放する方が良いのではないでしょうか。タイトループなどの特定のケースでは、最初のタイプが非常に効率的であることがわかります。