# Optimizing Calculation in Julia compared to C (New to Julia)

**URL:** <https://discourse.julialang.org/t/optimizing-calculation-in-julia-compared-to-c-new-to-julia/32723>\
**Category:** Performance\
**Created:** [December 26, 2019, 7:30pm UTC](https://discourse.julialang.org/t/optimizing-calculation-in-julia-compared-to-c-new-to-julia/32723 "2019-12-26T19:30:00Z")\
**Posts on this page:** 1\
**Showing post:** 11

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [December 26, 2019, 11:18pm UTC](https://discourse.julialang.org/t/optimizing-calculation-in-julia-compared-to-c-new-to-julia/32723/11 "2019-12-26T23:18:20Z")

</div>

I would store M as a vector of static arrays since one dimension (3) is known and fixed. This will probably speed things up quite a lot.

See my previous answer here for a similar situation

> [@Optimising code: Multiplying a list of matrices by a matrix](https://discourse.julialang.org/t/optimising-code-multiplying-a-list-of-matrices-by-a-matrix/31298/8):
>
> I changed your code to use static arrays, the timing of devectorized is printed in the bottom using LinearAlgebra, BenchmarkTools, StaticArrays # De-vectorised code function devectorised!(mu, S, A, ATranspose, R, simulationLength, u) n = length(mu) for i = 1:simulationLength for j = 1:n mu[j] = A\*mu[j] + u S[j] = A\*S[j]\*ATranspose + R end end end # Admin d = 6 n = 1000 simulationLength = 30 # Motion model T = 20e-3 A = [Array(1.0I, 3, 3) T\*Ar…

---

_[View the full topic](https://discourse.julialang.org/t/optimizing-calculation-in-julia-compared-to-c-new-to-julia/32723)._
