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.
>
>
>