In my last post ( Functional Programming with Java ) I still have to admit that I did not know whether Java optimization of ion exchange Endre (Tail Recursion) dominates. After a little test, I can say that Java capable 1.6 These optimization. I tested with:
j ava version "1.6.0_22"
Java (TM) SE Runtime Environment (build 1.6.0_22-b04-307-10M3261)
Java HotSpot (TM) 64-bit server VM (build 17.1-b03-307, mixed mode)
The optimized code runs by a factor of four to 5 faster. This is huge! When code is a modified version of Flash Black (Andre Moelle). Andre Moelle compares functional programming in Java and other programming languages with and without ion exchange Endre ( Link ). With him there were no differences between optimized and non-optimized code. But what can be various reasons. My conclusion is at odds with the results of Andre Moeller in 2008. One can justify the differences with different versions of the Java VM and compiler. Unfortunately I did not find a document from Sun and Oracle on this issue.
With this result, even imperative, normal Programmers optimize their code where they reorganize their recursive tail recursive functions. Another tip for last, of course, is the increase in Java stack of the JVM (-Xss) is important when dealing with recursion.
0 comments:
Post a Comment