Мне интересно, есть ли какой-либо перфекционный тест для сырых объектов против указателей на объекты.Почему я должен использовать указатель (производительность)?
- Я знаю, что нет смысла использовать указатели на ссылочных типах (например, карты), поэтому, пожалуйста, не упоминайте об этом.
- Я знаю, что вы должны использовать указатели, если данные необходимо обновить, поэтому, пожалуйста, не упоминайте об этом.
Большинство ответов/документы, которые я нашел в основном перефразировать принципы из официальной документации: ... If the receiver is large, a big struct for instance, it will be much cheaper to use a pointer receiver.
Мой вопрос просто то, что означает «большой»/«большой»? Является указателем на строку overkill? как насчет структуры с двумя строками, как насчет строковых полей строки?
Я думаю, что мы часто используем этот вариант использования, поэтому задаем справедливый вопрос. Некоторые советуют не возражать против проблемы производительности, но, возможно, некоторые люди хотят использовать правильную нотацию, когда они имеют шанс, даже если прирост производительности не является значимым. Ведь указатель не так дорог (т. Е. Еще одно нажатие клавиши).
Я много писал о том, когда использовать/не использовать указатели [над здесь] (http://stackoverflow.com/questions/23542989/pointers-vs-values-in-parameters-and-return-values/23551970#23551970). Не потейте перфу, пока не узнаете, что работаете над кодом, который является вашим узким местом; знать, когда это поможет или причинит боль, вам действительно может потребоваться поэкспериментировать с вашим фактическим кодом, чтобы учитывать эффекты кеша и т. д. – twotwotwo
Вопрос действительно в том, что касается проблемы производительности, а не других случаев. –
Я также обновил вопрос, чтобы уточнить, что речь идет не о том, когда использовать указатели. –