«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как работает алгоритм увеличения среза GO?

Как работает алгоритм увеличения среза GO?

Опубликовано в 2025-03-22
Просматривать:212

How does Go\'s Slice Enlargement Algorithm Work?

go Slice Algorithm

. При добавлении элементов к срезам может потребоваться расширить его емкость. Конкретный алгоритм, используемый для этого расширения, явно не определен в спецификациях GO.

Code реализация

Код, ответственный за изменение размера ломти Repository:

https://github.com/golang/go/blob/master/src/runtime/slice.go

enlargement rules

как из 2014-2020, внедренные правила:

    Если добавление элементов в срез увеличит свою длину более чем вдвое превышает его первоначальную длину, новая емкость устанавливается непосредственно на новую длину.
  1. encremental удвоение:
  2. для длины менее 1024, способность удваивается достаточной. Для длины, превышающей 1024, способность увеличивается на 25% каждую итерацию.
  3. емкость удвоения

нет, способность не всегда удвоится при увеличении среза.

, описанные выше, как это может быть связано с подходом к мощности, на расстоянии. Кроме того, эта эвристика может измениться в будущих версиях GO, поэтому рекомендуется проконсультироваться с последней реализацией для самой современной информации. ]

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3