2017-02-16 4 views
0

Если мне нужна простая строка в Groovy, делает ли использование двухцилиндровых литералов какое-либо влияние на производительность?GString performance

Например:

def plainString = 'Custom string' 
def gString = "Custom string" 

В моем понимании, простой String должен быть быстрее, потому что во время выполнения нет поиска конкретных символов и замен.

+1

Почему вы беспокоитесь об этом? Если у вас возникли проблемы с производительностью, вы должны профилировать. Если вы профилируете, вы уже знаете ответ. Если у вас нет проблем с производительностью, это не имеет значения. – slim

ответ

3

От Groovy Language Specification:

строк в двойных кавычках просты java.lang.String если нет интерполированного выражения, но groovy.lang.GString случаев, если интерполяция присутствует.

Поэтому не стесняйтесь использовать двойные кавычки или одинарные кавычки: они приведут к тому же типу объекта. Разница будет заключаться в том, что у вас есть $ в строке с двойными кавычками. Но к тому времени мы говорим о семантике, а не о производительности.

Смежные вопросы