Ecco un link ad alcuni test effettuati nel '09:
http://pstehlik.com/2009/01/the-speed-difference-between-the-different-types-of-strings-in-groovy-and-grails/
I risultati sembravano variare molto a seconda che stiate usando una stringa o GString, cosa stavate facendo con quell'oggetto e se steste correndo sulla console o sul jetty.
Ma essendo quasi 3 anni fa, molto potrebbe essere cambiato. Lo script di test è ancora disponibile nella parte inferiore della pagina, quindi puoi provare a eseguirlo nella versione corrente di Groovy per vedere come sono ora i risultati. Puoi anche vedere il suo nabble post che potrebbe dare qualche informazione in più.
Personalmente, utilizzo le stringhe con virgoletta singola il più delle volte, e uso semplicemente il GString con virgolette doppie quando è necessario utilizzare la sostituzione variabile. Non ho mai provato le differenze di prestazioni però.
fonte
2012-03-19 18:28:38
Una nota: se la stringa a doppia virgola non contiene alcun contenuto dinamico (ad esempio: no '$ var' o' $ {var} 'elementi), viene convertita automaticamente in una stringa normale. Quindi, spesso, non c'è motivo di preoccuparsi del tipo di stringa. L'unico problema con le stringhe con doppia citazione è che devi sfuggire ai segni del dollaro. Controllalo stampando '" foo ".class' da una console. – OverZealous