# Things that are easier in Julia than Python/R etc

**URL:** <https://discourse.julialang.org/t/things-that-are-easier-in-julia-than-python-r-etc/69403>\
**Category:** Community\
**Tags:** python, r\
**Created:** [October 8, 2021, 12:08am UTC](https://discourse.julialang.org/t/things-that-are-easier-in-julia-than-python-r-etc/69403 "2021-10-08T00:08:16Z")\
**Posts on this page:** 1\
**Showing post:** 23

<div class="post-metadata">

**Author:** ![CameronBieganek](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cameronbieganek/32/6915_2.png) [@CameronBieganek](https://discourse.julialang.org/u/CameronBieganek)\
**Post date:** [October 9, 2021, 2:05pm UTC](https://discourse.julialang.org/t/things-that-are-easier-in-julia-than-python-r-etc/69403/23 "2021-10-09T14:05:30Z")

</div>

To focus on something concrete, you could probably provide an example where broadcasting loop fusion improves the performance of code compared to the equivalent code in R. You could steal the following example and add an R microbenchmark comparison:

> [@Broadcasting inconsistency between addition and multiplication](https://discourse.julialang.org/t/broadcasting-inconsistency-between-addition-and-multiplication/69435/11):
>
> The fact that scalar multiplication doesn’t use broadcasting also means that it doesn’t get to benefit from loop fusion, which can be important for performance when you’re chaining operations. julia\> using BenchmarkTools julia\> let A = rand(100, 100), B = similar(A) @btime $B .= 2 \* $A .+ 1 @btime $B .= 2 .\* $A .+ 1 end; 6.234 μs (2 allocations: 78.20 KiB) 1.915 μs (0 allocations: 0 bytes) Dots are good! You want more of them, not less. slight_smile

---

_[View the full topic](https://discourse.julialang.org/t/things-that-are-easier-in-julia-than-python-r-etc/69403)._
