Dando continuidade a série de vídeos sobre Groovy e Grails, agora veremos como aumentar significativamente a performance dos scripts Groovy carregados dinâmicamente em uma aplicação Java.
Como veremos, os ganhos de performance são significativos e a técnica muito simples: basta pré-compilar os scripts antes destes serem executados. Também será respondida a pergunta: “qual o impacto do Security Manager sobre a performance do sistema?”. Como mostro, desprezível pra dizer o máximo. :)
Recursos para vocês se aprofundarem
A classe CompilerConfiguration: http://groovy.codehaus.org/api/org/codehaus/groovy/control/CompilerConfiguration.html
Apesar de não levar benchmarks muito a sério, um que mostra a performance do Groovy não tão distante assim do Java nativo (de 2012, as coisas melhoraram ainda mais este ano): http://java.dzone.com/articles/groovy-20-performance-compared
Código fonte do vídeo
Todo o código fonte, pra variar, está no GitHub: https://github.com/loboweissmann/groovy-grails-na-pratica (busque pela pasta embarcando_groovy_performance na raíz do projeto).
E o vídeo?
Eis o link: http://www.youtube.com/watch?v=Fa__6_5Z-wc&feature=youtu.be
Pergunta: por que você prefere “embarcado” ao invés de “embutido”? Somos mineiros, então não entendemos bem de navios e barcos! :-P Além disso, você está provavelmente traduzindo a palavra “embedded”, que, de acordo com a Universidade de Oxford, não tem nenhum significado relativo a barcos: http://oxforddictionaries.com/definition/english/embed?q=embedded. (Detalhe inútil: trabalhei muito como parte do time que implementou o oxforddictionaries.com).
Oi Thiago HP, muito obrigado pelo seu “construtivo comentário”.
A resposta para a sua dúvida é simples: por que eu quis e foi o termo que sempre usei. :)