julia> @time for i in 1:10 sleep(1) end 10.054067 seconds (60 allocations: 3.594 KB)
julia> @time @parallel for i in 1:10 sleep(1) end 0.195556 seconds (28.91 k allocations: 1.302 MB) 1-element Array{Future,1}: Future(1,1,8,#NULL) On Thursday, July 21, 2016 at 6:00:47 PM UTC+2, Ferran Mazzanti wrote: > > Hi, > > mostly showing my astonishment, but I can even understand the figures in > this stupid parallelization code > > A = [[1.0 1.0001];[1.0002 1.0003]] > z = A > tic() > for i in 1:1000000000 > z *= A > end > toc() > A > > produces > > elapsed time: 105.458639263 seconds > > 2x2 Array{Float64,2}: > 1.0 1.0001 > 1.0002 1.0003 > > > > But then add @parallel in the for loop > > A = [[1.0 1.0001];[1.0002 1.0003]] > z = A > tic() > @parallel for i in 1:1000000000 > z *= A > end > toc() > A > > and get > > elapsed time: 0.008912282 seconds > > 2x2 Array{Float64,2}: > 1.0 1.0001 > 1.0002 1.0003 > > > look at the elapsed time differences! And I'm running this on my Xeon > desktop, not even a cluster > Of course A-B reports > > 2x2 Array{Float64,2}: > 0.0 0.0 > 0.0 0.0 > > > So is this what one should expect from this kind of simple > paralleizations? If so, I'm definitely *in love* with Julia :):):) > > Best, > > Ferran. > > >