Performance tips
Throughout this book, we have paid attention to performance. Here, we summarize some highlighted performance topics and give some additional tips. These tips need not always be used, and you should always benchmark or profile the code and the effect of a tip. However, applying some of them can often yield a remarkable performance improvement. Using type annotations everywhere is certainly not the way to go; Julia's type inferring engine does that work for you:
- Refrain from using global variables. If unavoidable, make them constant with
const
, or at least annotate the types. It is better to use local variables instead; they are often only kept on the stack (or even in registers), especially if they are immutable. - Use a
main()
function to structure your code. - Use functions that do their work on local variables via function arguments, rather than mutating global objects.
- Type stability is very important:
- Avoid changing the types of variables over time
- The return type of a function...