# Speed comparison matrix multiplication in Julia

**URL:** <https://discourse.julialang.org/t/speed-comparison-matrix-multiplication-in-julia/66656>\
**Category:** Performance\
**Tags:** question, linearalgebra, optimization, tullio\
**Created:** [August 19, 2021, 6:20am UTC](https://discourse.julialang.org/t/speed-comparison-matrix-multiplication-in-julia/66656 "2021-08-19T06:20:00Z")\
**Posts on this page:** 6\
**Page:** 3

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [August 19, 2021, 11:54am UTC](https://discourse.julialang.org/t/speed-comparison-matrix-multiplication-in-julia/66656/41 "2021-08-19T11:54:47Z")

</div>

> [@sivakon](#):
>
> I wanted to fix my issue first, have apples to apples comparison when comparing speed between Julia and Jax, and later optimize my Julia code.

The point was that it _wasn’t_ apples to apples as long as the axis orientation issue was not fixed. After fixing this, it _is_. It’s not just an optimization thing, but fundamental for comparing between the languages.

> [@sivakon](#):
>
> My code is hella fast now, thanks.

Great! 😃

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [August 19, 2021, 11:57am UTC](https://discourse.julialang.org/t/speed-comparison-matrix-multiplication-in-julia/66656/42 "2021-08-19T11:57:14Z")

</div>

> [@DNF](#):
>
> Using _just_ Tullio _without_ LoopVectorization

WAT. do we know why?

---

<div class="post-metadata">

**Author:** ![sivakon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sivakon/32/5691_2.png) [@sivakon](https://discourse.julialang.org/u/sivakon)\
**Post date:** [August 19, 2021, 12:00pm UTC](https://discourse.julialang.org/t/speed-comparison-matrix-multiplication-in-julia/66656/43 "2021-08-19T12:00:55Z")

</div>

[https://docs.julialang.org/en/v1/manual/performance-tips/#man-performance-column-major](https://docs.julialang.org/en/v1/manual/performance-tips/#man-performance-column-major)

This convention for ordering arrays is common in many languages like Fortran, Matlab, and R (to name a few). The alternative to column-major ordering is row-major ordering, which is the convention adopted by C and Python (numpy) among other languages.

Well, now I know. This should be on top page in bold 😃

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [August 19, 2021, 12:05pm UTC](https://discourse.julialang.org/t/speed-comparison-matrix-multiplication-in-julia/66656/44 "2021-08-19T12:05:17Z")

</div>

> [@jling](#):
>
> WAT. do we know why?

I don’t know the details of it, but Tullio does not require LoopVectorization, and does a lot of nice performance stuff without it. If you let Tullio use LoopVectorization on top of that, you can get even better performance.

---

<div class="post-metadata">

**Author:** ![sivakon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sivakon/32/5691_2.png) [@sivakon](https://discourse.julialang.org/u/sivakon)\
**Post date:** [August 19, 2021, 12:06pm UTC](https://discourse.julialang.org/t/speed-comparison-matrix-multiplication-in-julia/66656/45 "2021-08-19T12:06:39Z")

</div>

[GitHub - mcabbott/Tullio.jl: ⅀](https://github.com/mcabbott/Tullio.jl), _Fast & Slow_ section has some details.

---

<div class="post-metadata">

**Author:** ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)\
**Post date:** [August 19, 2021, 12:33pm UTC](https://discourse.julialang.org/t/speed-comparison-matrix-multiplication-in-julia/66656/46 "2021-08-19T12:33:30Z")

</div>

> [@sivakon](#):
>
> This should be on top page in bold

Well, the thing is almost everything of this section should be at the top of the page in bold 😄

[Previous page](https://discourse.julialang.org/t/speed-comparison-matrix-multiplication-in-julia/66656.md?page=2)
