История изменений
Исправление
Novator,
(текущая версия)
:
Зависит от того, переприсваиваешь значение, или второй раз вызываешь метод:
str1 = object.method()
str2 = str1
str1 = object.method()
str2 = object.method()
В первом случае на скорость и память не повлияет, так как в динамических языках сам объект (строка) не копируется, а копируется только ссылка.
Во втором случае тратится время на вызов и работу метода, плюс выделяется память под новый объект (новое значение строки).
Мой совет: не бойся простого переприсваивания, но бойся ненужных многократных вызовов методов.
P.S. Если инициализируешь константами (NULL, цифрами и т.п.), то тоже быстро происходит.
Исходная версия
Novator,
:
Зависит от того, переприсваиваешь значение, или второй раз вызываешь метод:
str1 = object.method()
str2 = str
str1 = object.method()
str2 = object.method()
В первом случае на скорость и память не повлияет, так как в динамических языках сам объект (строка) не копируется, а копируется только ссылка.
Во втором случае тратится время на вызов и работу метода, плюс выделяется память под новый объект (новое значение строки).
Мой совет: не бойся простого переприсваивания, но бойся ненужных многократных вызовов методов.