https://medium.com/swift-algorithms-data-structures/what-software-engineers-can-learn-from-apples-m1-chip-8376374a0f97