The efficiency of mutable versus immutable types
Julia allows the user to define mutable and immutable types. In this recipe, we will show how their performance compares in a process of simulating a two-dimensional random walk.
Getting ready
Consider a process starting from a point,
, and updated following the rule:
, where
and
are sequences of independent random variables taking values
and
with probability
.
Our objective is to generate two values:
- The maximum distance reached from the origin point during the simulation measured as
- A vector containing the path of the random walk
We will model this random walk process using a Monte Carlo simulation.
Note
In the GitHub repository for this recipe, you will find the commands.txt
file that contains the presented sequence of shell and Julia commands. Additionally, in the walk.jl
and work.jl
files you can find the definitions of the types and related methods used in this recipe.
Now open your favorite terminal to execute the commands.