Единственный раз, когда вы увидите разницу в производительности, если вы не пометите свойство как "неатомное". Затем @synthesize автоматически добавит код синхронизации вокруг настроек вашего свойства, сохраняя его потокобезопасность - но медленнее настраивая и получая доступ.
Таким образом, в основном вы, вероятно, захотите определить свойство как:
@ свойство (неатомное, сохранение) NSString * myProp;
Лично я нахожу точечную запись, как правило, полезной с точки зрения того, что вам не нужно думать о написании правильных методов сеттера, что не совсем тривиально даже для неатомных сеттеров, потому что вы также должны помнить, чтобы правильно выпускать старое значение. Использование кода шаблона помогает, но вы всегда можете делать ошибки, и, как правило, повторяющийся код загромождает классы.
Шаблон, о котором следует знать: если вы сами определяете установщик (вместо того, чтобы позволить @synthesize создать его) и начинаете испытывать другие побочные эффекты при установке значения, вы, вероятно, должны сделать установщик обычным методом вместо вызова с использованием свойства нотации.
Семантическое использование свойств, по-видимому, представляет собой прямой доступ к фактическому значению для вызывающей стороны, и поэтому все, что отличается от этого, должно быть сделано посредством отправки сообщения, а не доступа к свойству (даже если они на самом деле оба отправляют сообщения).