Groovy Производительность скрипта содержит и соответствует - PullRequest
0 голосов
/ 20 июня 2020

Я новичок в groovy языке. Я использую код groovy, чтобы проверить ответ с URL-адреса http, если он действителен. С точки зрения производительности, то, что обычно рекомендуется использовать, - contains () или match (), которые позволят мне проверить правильность ответа.

1 Ответ

1 голос
/ 20 июня 2020

In Java contains() или in оператор Groovy проверяет точное совпадение на основе простой строки и в основном является ярлыком для -1 != str.indexOf('aaa').

С другой стороны, matches() в java или ==~ и =~ в groovy вводят накладные расходы на сопоставление шаблонов Regex и работают несколько медленнее. Это цена, которую вы платите за мощность и гибкость регулярного выражения.

Возвращаясь к вашему варианту использования, я думаю, что стоимость производительности matches() по сравнению с contains() несущественна, так как HTTP-запрос принимает значения время для выполнения больше.

В этом случае я бы использовал go для решения с большей читабельностью и гибкостью, что было бы способом регулярного выражения. С другой стороны, если вам действительно нужно точное совпадение, вы должны придерживаться contains.

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

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