Like most modern dynamic languages, the Julia runtime performs bounds checks on arrays by default. This means that the Julia compiler and runtime verify that the arrays are not indexed outside their limits and that all the indexes lie between the actual start and end of an array. Reading values of memory mistakenly beyond the end of an array is often the cause of many bugs and security issues in unmanaged software. Hence, bounds checking is an important determinant of safety in your programs.
Bounds checking
Removing the cost of bounds checking
However, as with any extra operation, bound checking has costs too. There are extra operations for all array reads and writes. While this cost is reasonably small and it is usually a good trade...