WaitForSeconds
YieldInstructment ๋ด๋ถ ๊ตฌํ์์ MoveNext์ new ์ชฝ์์ GC๋ฐ์
cache + WaitForSeconds
new heapํ ๋น์ด ์ฌ๋ผ์ง ๋ชจ์ต
Wait
System.Collection.IEnumerator ๋ฐํ์ผ๋ก GC๋ฐ์
cache+Wait
new WaitForSeconds ์บ์ฑํ๋ฉด ์ฑ๋ฅ์ด ์ฝ๊ฐ ํฅ์๋๊ณ runtime-value๋ผ jit-time์ ์ ์ ์์ผ๋ฉด ๋ ๋๋ ธ๋ค.
์ผ๋จ ์ง๋ฌธ๊ธ์์๋ ์์๊ฐ ์๋๋ผ dictionary๋ก runtime-value ์บ์ฑ๋ฌธ์ ์๊ณ ๊ทธ์ ๋ํ ํด๋ต์ด์๋ค.
๋น์ฐํ runtime ๊ฐ์ ๋ํ ํ๋กํ์ผ๋ง์ด๋ผ๊ณ ์๊ฐํ๊ณ ๊ณ์ฐํ๊ฑฐ๊ฒ ์ง?
์๋ก ์บ์ฑํ๋ฉด ์ฑ๋ฅ์ ๋์ผํ๊ฒ ๋์๋ค.
Wait์ ๊ฒฝ์ฐ ๋ฐํ์์ ์ฑ๋ฅ์ด WaitForSeconds๋ณด๋ค ์ข์ผ๋ WaitForSeconds๋ฅผ ์จ์ผํ๋ ์ด์ ์ข ์๋ ค์ค๋ผ
๊ฐ๋จํ๊ฒ heap alloc ์ค๋ช new WaitForSeconds: 0.7mb Wait: 0.6mb cache + WaitForSeconds: 0.5mb cache + Wait: 0.5mb
์ง๊ธ ์ฐพ์๋ดค๋๋ฐ ๋ ๊ทธ ๊ธ ์ ์ ์ ์ง๋ฌธ๊ธ์ด ์๋์ค์ ๋ชฐ๋์ ๊ทธ๋ฌ๋ ๋ ๊ณ์ ๋ฃจํ๋ฅผ ๊ธฐ์ค์ผ๋ก ์๊ธฐํ๋ ๊ฑฐ๊ณ ์์์ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์บ์ฑ์ผ๋ก ๋ถ๊ฐ๋ฅํ ํ ๊ณ ๋ค ๋ฐฉ์์ ์ฌ์ฉํ๋๊ฒ ์ข์๊ฐ๋ณด๋ค ์ข์๊ฑฐ ๋ฐฐ์๊ฐ
๋๊ธฐ์ ํ์ฅ ์ถ์ ์ฌ์ํํ ๋ฐฐ์ด ๋ด์ฉ์ธ๋ฐ ๋๋ ์์งํ ๋ฐฐ์ฐ๊ธฐ๋ง ํ๊ณ ํ๋กํ์ผ๋ฌ ๋๋ ค๋ณธ๊ฑด ์๋๋ผ ๋ด๊ฐ ํ๋ ธ๋ ์ถ์ด์ ์ซ๋ ธ๋ค ์๋ฐฐ์ ๋ค๋ ๋คํ์ด๋ค ๊ตฟ
์ ๋ณด๊ธ ๊ฐ์ถ