What is the performance of Groovy 2.0 with static compilation

后端 未结 2 1201
灰色年华
灰色年华 2021-01-17 16:39

I see that the recent release of Groovy 2.0 includes optional static compilation along with several other added benefits, like optional static type checking. After doing a b

相关标签:
2条回答
  • 2021-01-17 17:01

    I believe java runs those tests in around 550ms

    I did some performance comparison with Java. For "static ternary" and "static if" performance of Groovy with @CompileStatic is somewhat the same as with Java. For "instance ternary" and "instance if" it's almost a factor of 2. See my blog post.

    0 讨论(0)
  • 2021-01-17 17:10

    There are some benchmarks here (though it's hard to see what's going on)

    However, taking the Groovy 1.8.2 Fib source code from the bottom of the page, and running it in groovy 2.0 gives you:

    Groovy(static ternary): 1623ms
    Groovy(static if): 1583ms
    Groovy(instance ternary): 1744ms
    Groovy(instance if): 1694ms
    

    Putting @groovy.transform.CompileStatic at the top of the script gives you:

    Groovy(static ternary): 819ms
    Groovy(static if): 799ms
    Groovy(instance ternary): 816ms
    Groovy(instance if): 811ms
    

    Obviously, this is not a complete benchmark (it's only testing one thing), it doesn't include warmup or anything, and Groovy 2.0 has only been out a week, however it does hint towards a good speed improvement in this situation...

    0 讨论(0)
提交回复
热议问题