# Why is advection\_shared! much faster than advection\_parallel!?

**URL:** <https://discourse.julialang.org/t/why-is-advection-shared-much-faster-than-advection-parallel/71231>\
**Category:** Performance\
**Tags:** parallel, sharedarrays\
**Created:** [November 9, 2021, 11:10pm UTC](https://discourse.julialang.org/t/why-is-advection-shared-much-faster-than-advection-parallel/71231 "2021-11-09T23:10:49Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![DerongXu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/derongxu/32/23102_2.png) [@DerongXu](https://discourse.julialang.org/u/DerongXu)\
**Post date:** [November 9, 2021, 11:10pm UTC](https://discourse.julialang.org/t/why-is-advection-shared-much-faster-than-advection-parallel/71231/1 "2021-11-09T23:10:50Z")

</div>

Hi all,

I am learning the parallel computing in Julia through the manual [Multi-processing and Distributed Computing · The Julia Language](https://docs.julialang.org/en/v1/manual/distributed-computing/#man-shared-arrays)

In this page, why is advection\_shared! much faster than advection\_parallel! ? Both implementations split the array by the 2nd index. One is done manually, and the other one is finalized with the help of ` @distributed`.

I don’t understand the explanation “The biggest advantage of `advection_shared!` is that it minimizes traffic among the workers, allowing each to compute for an extended time on the assigned piece.”

What is the traffic overhead of the macro @distributed ?
