# Iteration using array of arrays/matrices vs iteration over matrix subsets

**URL:** <https://discourse.julialang.org/t/iteration-using-array-of-arrays-matrices-vs-iteration-over-matrix-subsets/47661>\
**Category:** Performance\
**Tags:** performance, arrays, matrices\
**Created:** [October 2, 2020, 7:55pm UTC](https://discourse.julialang.org/t/iteration-using-array-of-arrays-matrices-vs-iteration-over-matrix-subsets/47661 "2020-10-02T19:55:15Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jleman](https://avatars.discourse-cdn.com/v4/letter/j/df788c/32.png) [@jleman](https://discourse.julialang.org/u/jleman)\
**Post date:** [October 2, 2020, 7:55pm UTC](https://discourse.julialang.org/t/iteration-using-array-of-arrays-matrices-vs-iteration-over-matrix-subsets/47661/1 "2020-10-02T19:55:15Z")

</div>

It seems to me that in past versions of Julia the array of arrays or array of matrices approach for iteration usually outperformed iterating over matrix subsets. That gap seems to be smaller in the more recent version. Am I just imagining this or is that the result of an intentional language enhancement?

---

<div class="post-metadata">

**Author:** ![Elrod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/elrod/32/22461_2.png) [@Elrod](https://discourse.julialang.org/u/Elrod)\
**Post date:** [October 2, 2020, 7:58pm UTC](https://discourse.julialang.org/t/iteration-using-array-of-arrays-matrices-vs-iteration-over-matrix-subsets/47661/2 "2020-10-02T19:58:42Z")

</div>

Perhaps you mean views no longer allocating?  
Subsets of larger arrays should have better locality.  
Be sure to use views instead of taking slices.

---

<div class="post-metadata">

**Author:** ![jleman](https://avatars.discourse-cdn.com/v4/letter/j/df788c/32.png) [@jleman](https://discourse.julialang.org/u/jleman)\
**Post date:** [October 3, 2020, 12:00am UTC](https://discourse.julialang.org/t/iteration-using-array-of-arrays-matrices-vs-iteration-over-matrix-subsets/47661/3 "2020-10-03T00:00:15Z")

</div>

Yes, though even without using @views there seems to be less difference. Also for iterations on row versus column ordering it seems like I’m seeing less performance difference.
