• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: string literals and performance
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: string literals and performance


  • Subject: Re: string literals and performance
  • From: Jens Alfke <email@hidden>
  • Date: Sun, 25 May 2014 09:59:51 -0700

On May 25, 2014, at 3:18 AM, 2551 <email@hidden> wrote:

> That's what I understood from the stackexchange discussion I linked to. As I said, those issues aren't relevant in this case, so I was wondering if there were others. From the replies thus far, it seems not, and I'm inclined to go to style 2 for reasons more or less outlined by Quincey.

I’ve seen people use style 1, and to be honest it looks nuts to me, a ‘code smell’ of a newbie programmer. It’s identical to style 2 to the compiler, but harder for a human to read and understand.

The SO answer is a typical case of over-answering the question. The linker will combine all instances of the same string literal in one binary into a single object, so it doesn’t matter how many times you put @"foo” in your source code. And it makes absolutely no difference whether that literal is assigned to a variable or used directly as a method parameter.

What _is_ important is the DRY principle (Don’t Repeat Yourself). If  @“foo” is an important string, like a key in a dictionary where you store some value, then you shouldn’t sprinkle it all over your code, but instead declare it once as a global constant. That way the compiler can catch typos, and it’s easy to change the string later if you every need to. This has nothing to do with performance, and everything to do with maintainability and reliability.

—Jens
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


References: 
 >Re: string literals and performance (From: "Gary L. Wade" <email@hidden>)

  • Prev by Date: Re: NSURL from non-url NSString
  • Next by Date: Re: Understanding ARC
  • Previous by thread: Re: string literals and performance
  • Next by thread: NSURL from non-url NSString
  • Index(es):
    • Date
    • Thread