COW ๐ โ
COW(Copy On Write)๋ Swift์์ ์ฑ๋ฅํฅ์์ ์ํด ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ด๋ค.
Swift์์ Array ๋ณต์ฌ๋ฅผ ํ ๋ ์ค์ ๋ก ๊ฐ์ ๋ณต์ฌํ์ง ์๊ณ ์๋ณธ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ๋ค๊ฐ ์๋ณธ์ด๋ ๋ณต์ฌ๋ณธ์ ์์ ์ด ์ผ์ด๋๋ ๊ฒฝ์ฐ ๊ทธ ๋ ๋ณต์ฌ๊ฐ ์ด๋ฃจ์ด์ง๋๋ก ํ๋ ๊ฒ์ COW ๋ผ๊ณ ํ๋ค.
์ฃผ์๊ฐ์ ํ๋ฆฐํธํ๋ address()
ํจ์๋ฅผ ๋ง๋ค๊ณ array1 ๋ฐฐ์ด์ ๋ณต์ฌํ์ฌ array2์ ํ ๋นํ๊ณ ์ฃผ์๋ฅผ ์ฐ์ด๋ณด๋ฉด ๋์ผํ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
array2์ ์ซ์๋ฅผ ์ถ๊ฐํ๊ณ ์ฃผ์๋ฅผ ์ฐ์ด๋ณด๋ฉด array2์ ์ฃผ์๊ฐ ๋ณ๊ฒฝ๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.
|
|
๋ณต์ฌํ ๋ด์ฉ์ด ๋์ผํ๋ค๋ฉด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ถ๊ฐ๋ก ์ฌ์ฉํ์ง ์๊ณ ์ฐธ์กฐํจ์ผ๋ก์จ ๋ถํ์ํ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ๋ฐฉ์งํ๊ณ ํจ์จ์ ์ผ๋ก ์ฑ๋ฅํฅ์์ ํ ์ ์๋ค.
๋ฌผ๋ก ์ฒซ๋ฒ์งธ ์์ ์ด ์ด๋ฃจ์ด์ง๋ ์์ ์ ๊ฐ์ ๋ณต์ฌํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ์กฐ๊ธ ๋ ๊ฑธ๋ฆด ์ ์์ง๋ง, ๋์ผํ ๋ด์ฉ์ ๊ฒฝ์ฐ ๋ณต์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ ์๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ธก๋ฉด์์ ์๋ ๊ฒ๋ณด๋ค ์ป๋ ๊ฒ์ด ๋ง๋ค๊ณ ํด์ผ ํ ๊น..
Reference
https://medium.com/@lucianoalmeida1/understanding-swift-copy-on-write-mechanisms-52ac31d68f2f