Andreas<p>In my Python FEA package FElupe I've noticed that the time spent on assembling (especially large) finite element matrices takes longer than in recent releases. The slowdown is about 15% to 100%, depending on the number of degrees of freedom. From a computational-cost point of view, there are some cheap arrays stored inside a numeric region. A somewhat massive einsum-call further evaluates the values for the sparse finite element matrix. Due to some recent code changes, these cheap region arrays aren't contiguous anymore. That slows down the finite element matrix assembly up to 100%! By ensuring C-contiguous arrays, performance is back to normal (NumPy array flags are available as attribute ndarray.flags).</p><p><a href="https://github.com/adtzlr/felupe" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">github.com/adtzlr/felupe</span><span class="invisible"></span></a></p><p><a href="https://mathstodon.xyz/tags/python" class="mention hashtag" rel="tag">#<span>python</span></a> <a href="https://mathstodon.xyz/tags/numpy" class="mention hashtag" rel="tag">#<span>numpy</span></a> <a href="https://mathstodon.xyz/tags/FiniteElementMethod" class="mention hashtag" rel="tag">#<span>FiniteElementMethod</span></a> <a href="https://mathstodon.xyz/tags/finiteelements" class="mention hashtag" rel="tag">#<span>finiteelements</span></a> <a href="https://mathstodon.xyz/tags/fem" class="mention hashtag" rel="tag">#<span>fem</span></a> <a href="https://mathstodon.xyz/tags/fea" class="mention hashtag" rel="tag">#<span>fea</span></a> <a href="https://mathstodon.xyz/tags/scientificcomputing" class="mention hashtag" rel="tag">#<span>scientificcomputing</span></a> <a href="https://mathstodon.xyz/tags/computationalmechanics" class="mention hashtag" rel="tag">#<span>computationalmechanics</span></a></p>