Aquí hay un enlace a algunas pruebas que se hacen volver en el '09:
http://pstehlik.com/2009/01/the-speed-difference-between-the-different-types-of-strings-in-groovy-and-grails/
Los resultados parecían para variar mucho dependiendo de si estaba usando un String o un GString, qué estaba haciendo con ese objeto y si estaba ejecutando en la consola o en Jetty.
Pero siendo hace casi 3 años, mucho puede haber cambiado. El script de prueba todavía está disponible en la parte inferior de la página, por lo que podría intentar ejecutarlo en su versión actual de Groovy para ver cómo son los resultados ahora. También puede ver su nabble post que puede proporcionar más información.
Personalmente, utilizo cadenas de comillas simples más a menudo que no, y simplemente uso la comilla doble GString cuando necesito usar la sustitución de variables. Sin embargo, nunca he probado las diferencias de rendimiento.
Una nota: si su cadena de comillas dobles no contiene ningún contenido dinámico (es decir, no hay elementos '$ var' o' $ {var} '), se convierte silenciosamente a una Cadena normal. Entonces, a menudo, no hay razón para preocuparse por el tipo de cadena. Entonces, el único problema con las cadenas de comillas dobles es que debe escapar de los signos de dólar. Compruébalo imprimiendo '" foo ".class' desde una consola. – OverZealous