Com o ARC, o que é melhor: inicializadores de alocação ou liberação automática?

É melhor (mais rápido e mais eficiente) usaralloc ouautorelease inicializadores. Por exemplo.

- (NSString *)hello:(NSString *)name {
    return [[NSString alloc] initWithFormat:@"Hello, %@", name];
}

O

- (NSString *)hello:(NSString *)name {
    return [NSString stringWithFormat:@"Hello, %@", name];
//    return [@"Hello, " stringByAppendingString:name]; // even simpler
}

Eu sei que na maioria dos casos, o desempenho aqui não deve importar. Mas ainda gostaria de ter o hábito de fazê-lo da melhor maneir

Se eles fazem exatamente a mesma coisa, prefiro a última opção porque é mais curta para digitar e mais legíve

o Xcode 4.2, há uma maneira de ver o que o ARC compila, ou seja, onde ele colocaretain, release, autorelease etc? Esse recurso seria muito útil ao passar para o ARC. Sei que você não deveria pensar nessas coisas, mas isso me ajudaria a descobrir a resposta para perguntas como essa

questionAnswers(6)

yourAnswerToTheQuestion