Добавить в корзинуПозвонить
Найти в Дзене

Что такое "copy on write" (COW

Что такое "copy on write" (COW) "Copy on write" (COW) встроенный функционал управления памятью, который устраняет ненужное копирование данных типов-значений (value types). Как он работает - вы создаёте копию экземпляра типа-значения, - Swift, вместо того, чтобы скопировать эти данные в памяти, создаёт на них ссылку, точно также, как у ссылочных типов данных (reference types), - Swift создаёт копию, только в тот момент, когда вы производите изменение значения этого экземпляра, - если вы не изменяете значение, остаётся ссылка. Фактическое копирование происходит только в момент изменения данных. Если вы просто передаете данные или работаете с ними в режиме только для чтения, копирование не производится.

Что такое "copy on write" (COW)

"Copy on write" (COW) встроенный функционал управления памятью, который устраняет ненужное копирование данных типов-значений (value types).

Как он работает

- вы создаёте копию экземпляра типа-значения,

- Swift, вместо того, чтобы скопировать эти данные в памяти, создаёт на них ссылку, точно также, как у ссылочных типов данных (reference types),

- Swift создаёт копию, только в тот момент, когда вы производите изменение значения этого экземпляра,

- если вы не изменяете значение, остаётся ссылка.

Фактическое копирование происходит только в момент изменения данных. Если вы просто передаете данные или работаете с ними в режиме только для чтения, копирование не производится.