The compiler optimizes let statements better for items whose values will not change during their lifetime. For example, Apple writes, It is good practice to create immutable collections in all cases where the collection does not need to change. Doing so enables the Swift compiler to optimize the performance of the collections you create. (Prefer using let over var where appropriate.)