If the property is not declared nonatomic , the synthesized accessory will use locks to ensure that the property is thread safe. When a lock is overused, it adds unnecessary messages to your program. The locking operation itself must also be atomic, which means that the processor will lock the memory bus. This can slow down your program, as well as others. If the property is not often available, you probably won't notice the difference, but you definitely want to use it if the property will be used often. In general, however, why not use it? These are a few extra characters that could potentially speed up your program.
source share