TamTam - Java 8 functional programming: don't neglect optimisations!

Functional Java 8 new features aims to ease development. But we will see that you still need to deeply understand them internally, especially in the case of micro-benchmarking.

The original article from Tapiki is claiming that Java 8 Lambdas and Streams can be 5 times slower: Benchmark: How Java 8 Lambdas and Streams Can Make Your Code 5 Times Slower. Concluding that using functional programing may be a flaw in your code if you need performance.

But someone (ybonnel) proposed a pull request with many fixes on code (replacement of functions like Integer.max(), avoid unnecessary boxing/unboxing, etc.). Now performance is similar between Imperative and Functional programing (see : https://github.com/takipi/loops-jmh-playground/pull/2).

Conclusion: micro-benchmarking is a very difficult art in programming, especially with brand new features. Coding is particularly error prone since you need deep understanding to be fair.


Vous avez trouvé cette publication utile? Cliquer sur
Ippon
Ippon est un cabinet de conseil en technologies, créé en 2002 par un sportif de Haut Niveau et un polytechnicien, avec pour ambition de devenir leader sur les solutions Digitales, Cloud et BigData.

Ippon accompagne les entreprises dans le développement et la transformation de leur système d’information avec des applications performantes et des solutions robustes.

Ippon propose une offre de services à 360° pour répondre à l’ensemble des besoins en innovation technologique : Conseil, Design, Développement, Hébergement et Formation.

Nous avons réalisé, en 2016, un chiffre d’affaires de 24 M€ en croissance organique de 20%. Nous sommes aujourd’hui un groupe international riche de plus de 300 consultants répartis en France, aux USA, en Australie et au Maroc.
FRANCE Website LinkedIn