Стоит ли это неатомично? - PullRequest
4 голосов
/ 12 апреля 2011

Я много раз видел @property, определяемый как неатомический по соображениям производительности.Есть ли доказательства того, что это того стоит?

1 Ответ

3 голосов
/ 12 апреля 2011

Когда свойство не объявлено как nonatomic, синтезированный метод доступа будет использовать блокировки, чтобы гарантировать, что свойство является поточно-ориентированным. Когда блокировка используется излишне, она добавляет ненужные сообщения в вашу программу. Сама операция блокировки также должна быть атомарной, что означает, что процессор заблокирует шину памяти. Это может замедлить вашу программу, а также другие. Если к свойству обращаются не часто, вы, вероятно, не заметите разницы, но вы определенно хотите использовать его, если свойство будет использоваться часто. В целом, почему бы не использовать его? Это несколько дополнительных символов, которые могут привести к ускорению вашей программы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...