Как в lenght используется cpu кеш

«Как в lenght используется cpu кеш» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go len() — это встроенная функция, которая возвращает длину типа (слайса, массива, строки, мапы и т.д.). Она работает за O(1), так как для этих типов длина хранится в структуре данных (например, слайс содержит указатель на массив, длину и capacity).

CPU кеш здесь не играет роли напрямую, так как len() просто читает уже предвычисленное значение из памяти. Однако, если структура данных (например, слайс) находится в кеше, доступ к её длине будет быстрее.

s := []int{1, 2, 3}  
fmt.Println(len(s)) // Чтение длины из заголовка слайса  

Оптимизация доступа к len() зависит от локальности данных: если слайс/массив активно используется, он, скорее всего, будет в кеше.