C'est connu, la compilation d'un site GWT en JavaScript est un processus long et très coûteux en mémoire.
Bien heureusement, cette opération n'est pas systématique et nous est épargnée grâce au mode hosté dans le cycle de développement traditionnel.
Lorsqu'on comprend les innombrables optimisations réalisées par le compilateur (qui part dans une boucle quasi infinie jusqu'à presser le citron des optimisations au maximum) on accepte beaucoup mieux le coût de cette phase.
Parmi les nouveautés qui arriveront dans GWT 1.6, le mode DraftCompile permettra de considérablement réduire ce temps avec deux procédés :
- la parallélisassion des permutations : c'est la possibilité de paralléliser sur plusieurs coeurs ou CPU d'une machine la compilation d'une permutation donnée (aujourd'hui cette compilation est séquentielle).
- le mode draftCompile : ce mode part du principe qu'en développement local, vous n'avez aucune contrainte réseau et le téléchargement d'un fichier JavaScript plus gros passerait quasiment inaperçu. Pour cela, il faut que GWT fasse un rapide calcul lui permettant d'optimiser la permutation en une passe ou deux grand maximum. On est capable ainsi de réduire potentiellement par plus de 60% le temps de compilation. Tout est une question de delta entre temps de compilation et taille du fichier JavaScript généré (plus c'est petit, plus c'est long ;-)).
A noter que cette fonctionnalité n'est pas encore dans le trunk, Bob Vawter fournit juste un patch soumis à review sur gwt-contrib. A découvrir ici.