Soll ich Groovys @CompileStatic verwenden, wenn ich auch Java 7 verwende?

Ich habe das durchgelesen"Was ist neu in Groovy 2.0" und ich bin ein bisschen verwirrt, wann ich @CompileStatic verwenden soll. Der Artikel erwähnt, dass die@CompileStatic Für Entwickler, die den dynamischen Teil von Java7 nicht nutzen konnten, wurde eine Anmerkung hinzugefügt.

Entwickler, die nach Leistungsverbesserungen suchen, werden in Groovy 2.0 keine großen Änderungen feststellen, wenn sie nicht in der Lage sind, mit JDK 7 zu arbeiten Code, der statisch kompiliert werden soll.

Meine Frage ist, ob ich JDK 7 verwende und die Anweisungen befolge, um das hinzuzufügen--indy Flagge, muss ich hinzufügen@CompileStatic um einige Leistungssteigerungen zu sehen?Dieser Blog schlägt vor, ich würde, aber ich bin nicht sicher, ob er richtig kompiliert hat, da er es in Eclipse getan hat.

Aktualisieren: Hier sind die Statistiken, wenn verschiedene Permutationen des Fibonacci-Codes ausgeführt werden.

> groovy --indy FibBoth.groovy
..........Fib (non-static indy): 1994.465
..........Fib (static indy): 529.197

> groovy FibBoth.groovy       
..........Fib (non-static): 1212.788
..........Fib (static): 525.671

Hinweis: Diese Frage scheint jetzt etwas verwirrend, da ich verstehe, dass die Funktionen unabhängig sind. Da die Grundlage der Frage die Verwirrung durch die Anmerkungen ist, die mich zu der Annahme veranlassten, dass die beiden Merkmale zusammenhängen, halte ich es für sinnvoll, den Fragetext nicht zu ändern und die akzeptierte Antwort zuzulassen, die die Unterschiede erklärt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage