Grassmann.jl A\b 3x faster than Julia's StaticArrays.jl

I’m only guessing, but I think that the reason why “return value allocation is definitely not pure” is that it depends on where heap memory is available, and this is is a global state.

Example:

f() = []
f() === f() # returns false

The function f is not pure, since calling it with the same (empty) set of immutable arguments does not return the same result.

1 Like