我已经通过阅读“什么是在Groovy 2.0新” ,我有点困惑时使用@CompileStatic。 文章提到, @CompileStatic
开发商谁不能够采取Java7的调用动态部分的优点加注释。
因此,开发商找的性能改进不会看到在Groovy 2.0多大的变化,如果他们不能在JDK 7上运行幸运的是,Groovy开发团队认为这些开发人员可以得到有趣的性能提升,其他优点外,允许类型检查代码进行静态编译。
我的问题是,如果我使用JDK 7,我按照说明添加--indy
标志,我需要添加@CompileStatic
看到一些性能提升? 此博客暗示我想,但我不知道他编写正确地给他这样做是在Eclipse。
更新:运行菲波纳契码的不同排列时,这里是统计数据。
> 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
注意:这个问题现在我明白功能是独立的,似乎有点混乱。 由于问题的基础,是围绕从做笔记的困惑我觉得两个特点均与我觉得很有道理不改变问题的措辞,并允许接受的答案解释的差异。