Is scala functional programming slower than traditional coding?
Posted
by Fred Haslam
on Stack Overflow
See other posts from Stack Overflow
or by Fred Haslam
Published on 2010-05-08T16:42:24Z
Indexed on
2010/05/08
16:48 UTC
Read the original article
Hit count: 190
In one of my first attempts to create functional code, I ran into a performance issue.
I started with a common task - multiply the elements of two arrays and sum up the results:
var first:Array[Float] ...
var second:Array[Float] ...
var sum=0f;
for(ix<-0 until first.length) sum += first(ix) * second(ix);
Here is how I reformed the work:
sum = first.zip(second).map{ case (a,b) => a*b }.reduceLeft(_+_)
When I benchmarked the two approaches, the second method takes 40 times as long to complete!
Why does the second method take so much longer? How can I reform the work to be both speed efficient and use functional programming style?
© Stack Overflow or respective owner