ํƒœ๊ทธ ๋ณด๊ด€๋ฌผ: applied-theory

applied-theory

๊ณ„์‚ฐ ๋ณต์žก์„ฑ์— ๋Œ€ํ•œ ์ง€์‹์ด์—†๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š”๊ฐ€? ๊ฐ•์‚ฌ์—๊ฒŒ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ๊ด€์ฐฐ ํ›„, ๊ทธ๋Š”

๋‚˜๋Š” ๋Œ€ํ•™์—์„œ ์šด๋™์„ ๋ฐฐ์ • ๋ฐ›์•˜๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์ง‘์œผ๋กœ ๊ฐ€์ ธ ์™€์„œ ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ๋‹ค. ๊ทธ๋ž˜ํ”„์™€ ๊ด€๋ จ์ด ์žˆ๊ณ  ์—ฐ๊ฒฐ๋œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋งˆ์Œ์— ๋“ค์–ด์˜จ ๊ฐ€์žฅ ์‚ฌ์†Œํ•œ ๊ฒƒ์„ ๊ฐ•์‚ฌ์—๊ฒŒ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ๊ด€์ฐฐ ํ›„, ๊ทธ๋Š” ๋‚ด ์†”๋ฃจ์…˜์˜ ๋Ÿฐํƒ€์ž„ ๋ณต์žก์„ฑ์ด ๋ถˆ๊ฐ€ํ”ผํ•˜๊ณ  ๋” ํšจ์œจ์ ์ธ ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ณ„์‚ฐ ๋ณต์žก์„ฑ์— ๋Œ€ํ•ด ์ „ํ˜€ ๋ชจ๋ฅด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์ „ํ†ต์ด ์žˆ์Šต๋‹ˆ๋‹ค (์ €๋Š” ๊ทธ ์ค‘ ํ•˜๋‚˜์˜€์Šต๋‹ˆ๋‹ค). ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๊ณ„์‚ฐ ๋ณต์žก์„ฑ์— ๋Œ€ํ•ด ์ „ํ˜€ ๋ชจ๋ฅธ๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?



๋‹ต๋ณ€

์˜ˆ, ๊ณ„์‚ฐ ๋ณต์žก์„ฑ์— ๋Œ€ํ•ด ์•„๋Š” ๊ฒƒ์ด ์ง„์ง€ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ๋Š” ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ๊ฑฐ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‹ค๋ฃจ์ง€ ์•Š๋Š” ํ•œ ๋ณต์žก์„ฑ์„ ๋ชจ๋ฅด๋Š” ๊ฒƒ์ด ์ข‹์ง€๋งŒ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ ค๋ฉด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ • ๊ฒฝ์šฐ์— ์—ฐ๊ฒฐ๋œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ฐพ๋Š” ์˜ˆ๋Š” ์ตœ๋Œ€ ๋…ธ๋“œ์˜ ๊ทธ๋ž˜ํ”„์—์„œ ์ž‘๋™ํ–ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ๊ทธ๋Ÿฌ๋‚˜ 100.000 ๊ฐœ์˜ ๋…ธ๋“œ๋กœ ๊ทธ๋ž˜ํ”„๋ฅผ ์‹œ๋„ํ•˜๋ฉด ๊ฐ•์‚ฌ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด 1 ์ดˆ ์•ˆ์—์ด๋ฅผ ๊ด€๋ฆฌํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ (๋ณต์žก๋„๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋‚˜์œ์ง€์— ๋”ฐ๋ผ) 1 ์‹œ๊ฐ„, 1 ์ผ ๋˜๋Š” ์‹ฌ์ง€์–ด 1 ์˜์›์„ ๊ฐ€์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

100

100.000

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณผ์ •์—์„œ ํ•™์ƒ๋“ค์ด ํ”ํžˆ ์ €์ง€๋ฅด๋Š” ์‹ค์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐฐ์—ด์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

while array not empty
    examine first element of array
    remove first element from array

์ด๊ฒƒ์€ ๊ฐ€์žฅ ์•„๋ฆ„๋‹ค์šด ์ฝ”๋“œ๋Š” ์•„๋‹ˆ์ง€๋งŒ ๋ณต์žกํ•œ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์•Œ์ง€ ๋ชปํ•˜๋Š” ์ฑ„ ํ‘œ์‹œ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž,์ด ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฌธ์ œ์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์š”์†Œ ์˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ์‹คํ–‰ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์‹ญ์‹œ์˜ค . ๋‹ค์Œ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋น„๊ตํ•  ๋•Œ ์ด์ „ ํ”„๋กœ๊ทธ๋žจ์€ 50.000 ๋Š๋ฆฌ๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค .

100.000

50.000
while array not empty
    examine last element of array
    remove last element from array

ํ”„๋กœ๊ทธ๋žจ์„ ๋ฐฐ ๋น ๋ฅด๊ฒŒ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ง€์‹์„ ๋ณด์œ  ํ•˜๋Š” ๊ฒƒ์ด ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ๋Š” ์ค‘์š”ํ•œ ์ผ ์ด๋ผ๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค . ๋‘ ํ”„๋กœ๊ทธ๋žจ์˜ ์ฐจ์ด์ ์„ ์ดํ•ดํ•˜๋ ค๋ฉด ๋ณต์žก์„ฑ ์ด๋ก ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์‹๊ณผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ค‘์ธ ์–ธ์–ด์˜ ํŠน์ • ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์ง€์‹์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

50.000

์˜์‚ฌ ์ฝ”๋“œ ์–ธ์–ด์—์„œ โ€œ๋ฐฐ์—ด์—์„œ ์š”์†Œ ์ œ๊ฑฐโ€๋Š” ๋ชจ๋“  ์š”์†Œ๋ฅผ โ€‹โ€‹์™ผ์ชฝ์—์„œ ํ•œ ์œ„์น˜์—์„œ ์ œ๊ฑฐ๋˜๋Š” ์š”์†Œ์˜ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ์ž‘์—…์ด ๊ฐ€๋˜๋ฏ€๋กœ ํ•˜๋‚˜์˜ ์š”์†Œ์™€ ๋งŒ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์š”์†Œ ๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๋ฉด ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ๋ชจ๋“  n โ€“ 1 ์š”์†Œ๋ฅผ ํ•œ ์œ„์น˜ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•ด์•ผํ•˜๋ฏ€๋กœ O ( n ) ์ž…๋‹ˆ๋‹ค.

O(1)

O(n)

nโˆ’1

๋ณต์žก์„ฑ์˜ ๋งค์šฐ ๊ธฐ๋ณธ์ ์ธ ์šด๋™์€ ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ๊ทธ๋žจ์ด ์ˆ˜ํ–‰ ํ•  ๊ฒƒ์ž„์„ ์ฆ๋ช…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค ๋‘ ๋ฒˆ์งธ ํ”„๋กœ๊ทธ๋žจ์€n ๊ฐœ์˜์ž‘์—…๋งŒ ์‚ฌ์šฉํ•˜์ง€๋งŒ 2 n2๊ฐœ์˜์ž‘์—…์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์ด์— ์—ฐ๊ฒฐํ•˜๋ฉดN=100.000๋‹น์‹ ์€ ํ•˜๋‚˜ ๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋Œ€ํญ๋ณด๋‹ค ํšจ์œจ์ ์ธ ๋‹ค๋ฅธ๋ณด๋‹ค ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

12์—”2

์—”

n=100.000

์ด๊ฒƒ์€ ๋‹จ์ง€ ์žฅ๋‚œ๊ฐ์˜ ์˜ˆ์ด์ง€๋งŒ ๋‘ ํ”„๋กœ๊ทธ๋žจ์˜ ์ฐจ์ด์ ์„ ๋งํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ณต์žก์„ฑ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ดํ•ด๊ฐ€ ์ด๋ฏธ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ์ด ์‹ค์ˆ˜๊ฐ€์žˆ๋Š”๋ณด๋‹ค ๋ณต์žกํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ๋””๋ฒ„๊น… / ์ตœ์ ํ™”ํ•˜๋ ค๊ณ ํ•˜๋ฉด ์ฐพ๊ธฐ์— ๋” ๋งŽ์€ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค ๋ฒ„๊ทธ๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€. ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ฐฐ์—ด์—์„œ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์‹ค์ˆ˜๋Š” ์ฝ”๋“œ์˜ ์ถ”์ƒํ™”์— ์˜ํ•ด ์ž˜ ์ˆจ๊ฒจ ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณต์žก์„ฑ์„ ์ž˜ ์ดํ•ดํ•˜๋ฉด ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋น„๊ตํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ ๋„์›€์ด๋ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋œ ๊ตฌ์„ฑ ์š”์†Œ ๋ฌธ์ œ๋ฅผ ์Šค์Šค๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ์œ„ํ•œ ๋‘ ๊ฐ€์ง€ ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ƒ๊ฐํ•ด ๋ƒˆ๋‹ค๊ณ  ๊ฐ€์ • ํ•ด ๋ด…์‹œ๋‹ค. ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์„ ๊ฒฐ์ •ํ•˜๋ ค๋ฉด ๋ณต์žก์„ฑ์„ ์ถ”์ •ํ•˜๊ณ  ๋” ๋‚˜์€ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋งค์šฐ ์œ ์šฉ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.


๋‹ต๋ณ€

์ด๊ฒƒ์€ Tom van der Zanden์˜ ๋‹ต๋ณ€์— ๋Œ€ํ•œ ๋ฐ˜๋ฐ•์ž…๋‹ˆ๋‹ค .

๋ฌธ์ œ๋Š” ๋Œ€๋ถ€๋ถ„ 50.000 ๋ฐฐ ๋Š๋ฆฌ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค (๋ฌผ๋ก  Google์—์„œ ์ž‘์—…ํ•˜์ง€ ์•Š๋Š” ํ•œ).

์ž‘์—…์— ๋งˆ์ดํฌ๋กœ ์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ๊ฑฐ๋‚˜ N์ด ํŠน์ • ์ž„๊ณ„ ๊ฐ’ (์š”์ฆ˜ ์ˆ˜ํ–‰๋˜๋Š” ์ฝ”๋”ฉ์˜ ๋งŽ์€ ๋ถ€๋ถ„)์„ ์ดˆ๊ณผํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฒฐ์ฝ” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ๊ณ„์‚ฐ ๋ณต์žก์„ฑ์„ ์ƒ๊ฐํ•˜๋ฉด ์‹œ๊ฐ„๊ณผ ๋ˆ์„ ๋‚ญ๋น„ํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

๊ณ„์‚ฐ ๋ณต์žก๋„๋Š” ์™œ ๋ฌด์–ธ๊ฐ€๊ฐ€ ๋Š๋ฆฌ๊ฒŒ ์ง„ํ–‰๋˜๊ฑฐ๋‚˜ ํฌ๊ธฐ๊ฐ€ ์‹ฌํ•˜๊ฒŒ ์ €ํ•˜ ๋  ์ˆ˜ ์žˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜๋Š” ๋„๊ตฌ์ด์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๊ฐ„์€ ์™„์ „ํžˆ ์ง€๋‚˜์นœ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” 5 ๋…„ ์ด์ƒ ๋™์•ˆ ์ „๋ฌธ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜€์œผ๋ฉฐ ๋ฃจํ”„ O (M * N) ๋‚ด์—์„œ ๋ฃจํ•‘ ํ•  ๋•Œ ๊ณ„์‚ฐ ๋ณต์žก๋„์— ๋Œ€ํ•ด ์ƒ๊ฐํ•  ํ•„์š”๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ํ•ญ์ƒ ์ž‘์—…์ด ์‹ค์ œ๋กœ ๋น ๋ฅด๊ฑฐ๋‚˜ M๊ณผ N์ด ๋„ˆ๋ฌด ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ž‘์€.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž‘์—…์„ํ•˜๋Š” ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ํ›จ์”ฌ ์ค‘์š”ํ•˜๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒƒ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค (์Šค๋ ˆ๋”ฉ ๋ฐ ํ”„๋กœํŒŒ์ผ ๋ง์€ ์„ฑ๋Šฅ ์˜์—ญ์—์„œ ์ข‹์€ ์˜ˆ์ž…๋‹ˆ๋‹ค).

๋ฌผ๋ก  ๊ณ„์‚ฐ ๋ณต์žก๋„๋ฅผ ์ดํ•ดํ•˜์ง€ ์•Š๊ณ ๋Š” ๊ฒฐ์ฝ” ํ•  ์ˆ˜์—†๋Š” ์ผ์ด ์žˆ์ง€๋งŒ (์˜ˆ : ์‚ฌ์ „์—์„œ ์•„๋‚˜๊ทธ๋žจ ์ฐพ๊ธฐ) ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


๋‹ต๋ณ€

์ €๋Š” ์•ฝ 30 ๋…„ ๋™์•ˆ ๊ณ„์•ฝ์ž ๋ฐ ์ง์›์œผ๋กœ ์ผํ•˜๋ฉด์„œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•ด ์™”์œผ๋ฉฐ ๊ฝค ์„ฑ๊ณต์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์˜ ์ฒซ ๋ฒˆ์งธ ์–ธ์–ด๋Š” ๊ธฐ๋ณธ ์ด์—ˆ์ง€๋งŒ ์ €์˜ ํž˜์„ ์žƒ์€ ์ƒ์ž์—์„œ ์ ์ ˆํ•œ ์†๋„๋ฅผ ๋‚ด๋„๋ก ๊ธฐ๊ณ„ ์–ธ์–ด๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฐ€๋ฅด์ณค์Šต๋‹ˆ๋‹ค. ๋ช‡ ๋…„ ๋™์•ˆ ํ”„๋กœํŒŒ์ผ ๋Ÿฌ์—์„œ ๋งŽ์€ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์œผ๋ฉฐ ๋น ๋ฅด๊ณ  ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ ์ธ ์ตœ์ ํ™” ์ฝ”๋“œ ์ƒ์„ฑ์— ๋Œ€ํ•ด ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.

๋งํ•  ๊ฒƒ๋„์—†์ด, ๋‚˜๋Š” ์Šค์Šค๋กœ ๊ฐ€๋ฅด์นœ๋‹ค. ๋ช‡ ๋…„ ์ „์— ์ธํ„ฐ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” O ํ‘œ๊ธฐ๋ฒ•์„ ์ ‘ํ•œ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ๋ทฐ ์ค‘์—๋Š” ์ „๋ฌธ ์ž‘์—…์—์„œ ์ ˆ๋Œ€ ๋‚˜์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์ธํ„ฐ๋ทฐ์—์„œ ๊ทธ ์งˆ๋ฌธ์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ๊ธฐ์ดˆ๋ฅผ ๋ฐฐ์›Œ์•ผํ–ˆ์Šต๋‹ˆ๋‹ค.

์•…๋ณด๋ฅผ ์ฝ์„ ์ˆ˜์—†๋Š” ์žฌ์ฆˆ ๋ฎค์ง€์…˜์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚œ ์—ฌ์ „ํžˆ ์ž˜ ์žฌ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ํ•ด์‹œ ํ…Œ์ด๋ธ” (ํ•ด์‹œ ํ…Œ์ด๋ธ”์ด ์ด๋ฏธ ๋ฐœ๋ช…๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ธฐ ์ „์— ํ•ด์‹œ ํ…Œ์ด๋ธ”์„ ๋ฐœ๋ช…ํ–ˆ๋‹ค)๊ณผ ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ์œผ๋ฉฐ ํ•™๊ต์—์„œ ๊ฐ€๋ฅด์น˜์ง€ ์•Š๋Š” ๋ช‡ ๊ฐ€์ง€ ํŠธ๋ฆญ์„ ์•Œ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š”์ด ์ง์—…์—์„œ ์„ฑ๊ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ธ๋””์— ๊ฐ€๊ฑฐ๋‚˜ ์ธํ„ฐ๋ทฐ ์ค‘์— ๋ฌผ์–ด๋ณผ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์„ ๋ฐฐ์›Œ์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ด ์ง„์‹ค์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋ง๋ถ™์—ฌ์„œ, ๋‚˜๋Š” ๊ฐ€์žฅ ์ตœ๊ทผ์— ํ”„๋ก ํŠธ ์—”๋“œ ์›น ๊ฐœ๋ฐœ์ž ์—ญํ• ์„ ์œ„ํ•ด ์ธํ„ฐ๋ทฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋‹ต์ด ๊ณ„์‚ฐ์˜ ๋ณต์žก์„ฑ๊ณผ ๋Œ€์ˆ˜์— ๋Œ€ํ•œ ์ง€์‹์„ ํ•„์š”๋กœํ•˜๋Š” ์งˆ๋ฌธ์„ ๋‚˜์—๊ฒŒ ๋ฌผ์—ˆ๋‹ค. ๋‚˜๋Š” 20 ๋…„ ์ „์˜ ์ˆ˜ํ•™์— ๋Œ€ํ•ด ๋‹ค์†Œ ์ •ํ™•ํ•˜๊ฒŒ ๋Œ€๋‹ตํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•œ ์ˆ˜ํ•™์„ ๊ธฐ์–ตํ–ˆ์ง€๋งŒ ์•ฝ๊ฐ„ ํ˜ผ๋ž€ ์Šค๋Ÿฌ์› ์Šต๋‹ˆ๋‹ค. ํ”„๋ŸฐํŠธ ์—”๋“œ ๊ฐœ๋ฐœ์—์„œ ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์—๊ฒŒ ํ–‰์šด์„ ๋น•๋‹ˆ๋‹ค!


๋‹ต๋ณ€

์งˆ๋ฌธ์€ ๋งค์šฐ ์ฃผ๊ด€์ ์ด๋ฏ€๋กœ ๋‹ต์ด ๋‹ฌ๋ ค ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค .

์†Œ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ทธ๋‹ค์ง€ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์–ธ์–ด์˜ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ฐ™์€ ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ด์œ ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ๋น ๋ฅด๋‹ค๊ณ  ์ฃผ์žฅํ•˜๋Š” ๊ฒฝ์šฐ ๊ณ„์‚ฐ ๋ณต์žก์„ฑ์„ ์ดํ•ดํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์–ด๋–ป๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผํ•˜๋Š”์ง€ ๋˜๋Š” ์–ผ๋งˆ๋‚˜ ๋นจ๋ฆฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋Ÿฌ๋‚˜ ์ด๋ก ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ์ •๋ง ์ข‹์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋˜๊ธฐ์—๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งค์šฐ ๋น ๋ฅธ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋จธ์‹  ์ž‘๋™ ๋ฐฉ์‹ (์บ์‹œ, ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์•„์›ƒ, ๋ช…๋ น์–ด ์„ธํŠธ) ๋ฐ ์ปดํŒŒ์ผ๋Ÿฌ์˜ ๊ธฐ๋Šฅ (์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ตœ์„ ์„ ๋‹คํ•˜์ง€๋งŒ ์™„๋ฒฝํ•˜์ง€๋Š” ์•Š์Œ)์„ ์ดํ•ดํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ, ๋ณต์žก์„ฑ์„ ์ดํ•ดํ•˜๋ฉด ๋ถ„๋ช…ํžˆ ๋” ๋‚˜์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.


๋‹ต๋ณ€

์ค‘์š”ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ์‚ฌ๋žŒ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ณต์žก์„ฑ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ์ž๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์„ฑ๋Šฅ ํŠน์„ฑ์ด ์šฐ์ˆ˜ํ•œ ๊ตฌํ˜„ ํ’ˆ์งˆ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ๋ณต์žก์„ฑ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ ํŠน์„ฑ์— ์œ ์ผํ•˜๊ฒŒ ๊ธฐ์—ฌํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ์ค‘์š”ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ณต์žก์„ฑ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ์‚ฌ๋žŒ์€ ์œ ์šฉํ•œ ์„ฑ๋Šฅ ํŠน์„ฑ์„ ๊ฐ€์ง„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ๋ฐœํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์ ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ’ˆ์งˆ์ด ์ข‹๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๋ณ„ ๋ฌธ์ œ๊ฐ€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ค‘์š”ํ•˜๊ณ  ์ž˜ ์ •์˜ ๋œ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€์žˆ๋Š” ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค. ์š”๊ตฌ์— ๋งž๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ• ๋งŒ ์•Œ๊ณ  ์žˆ์œผ๋ฉด๋ฉ๋‹ˆ๋‹ค. ๋ณต์žก์„ฑ์€ ์ข…์ข… ์„ ํƒํ•˜๋Š” ๊ธฐ์ค€ ์ค‘ ํ•˜๋‚˜์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚ด์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํŠน์ • ์œ ํ˜•์˜ ์—ฌ๋Ÿฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (์˜ˆ : ์ •๋ ฌ)์ด์žˆ๋Š” ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ณต์žก์„ฑ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋Š” ์ž์‹ ์˜ ์ž‘์—…์— ํšจ๊ณผ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜๋Š” ๊ธฐ์ดˆ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋น„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ์— ์ดˆ์ ์„ ๋งž์ถ”๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค (๋” ๋‚˜์€ ์„ค๋ช…์„ ์›ํ•จ). ์˜ˆ๋ฅผ ๋“ค์–ด, ์ง๊ด€์  ์ธ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ์— ์ค‘์ ์„ ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐœ๋ฐœ์ž๋Š” ์ข…์ข… ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‚˜ ๋ณต์žกํ•œ ๊ฒƒ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์ง€๋งŒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚˜ ๋‹ค๋ฅธ ์ฝ”๋“œ๋ฅผ ๊ณ ํ’ˆ์งˆ๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.


๋‹ต๋ณ€

์ž‘์—…ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ์•„๋‹ˆ๋ผ ๊ฐœ๋ฐœํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๊ฐœ๋…์  ๋ณต์žก์„ฑ์— ๋Œ€ํ•ด ๋ชจ๋ฅด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ์ „ํ™”๋ฅผ ๊ฑธ์–ด ๋ณด์ž.

๋ฉ์ฒญํ•œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๋‹ค์Œ์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋น… ๋ฐ์ดํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ฐœ-๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด๋ถ€์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ์•Œ ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ๊ทœ์น™ ๋งŒ ์žˆ์œผ๋ฉด๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ๋ฑ์‹ฑํ•ด์•ผ ํ•  ๊ฒƒ, โ€ฆ ๋ฐ์ดํ„ฐ์—์„œ ์ค‘๋ณต์„ฑ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋” ๋‚˜์€ ๊ณณ, ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ณณ โ€ฆ
  • ๊ฒŒ์ž„ ๋งŒ๋“ค๊ธฐ-๊ทธ๋Š” ์ผ๋ถ€ ๊ฒŒ์ž„ ์—”์ง„์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ์—ฐ๊ตฌํ•˜๊ณ  ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๋”ฐ๋ฅด๊ธฐ ๋งŒํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„๊ณผ ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์€ ๋งค์šฐ ํฐ ๋ฐ์ดํ„ฐ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋‹จ์ผ ์‚ฌ์ง„ / ํ”„๋ ˆ์ž„์˜ ๊ฒฝ์šฐ 1920 * 1080 * 32bit = cca 7.9MB๋ฅผ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค โ€ฆ @ 60 FPS ์ตœ์†Œ 475MB / s์ž…๋‹ˆ๋‹ค. ๋ถˆํ•„์š”ํ•œ ์ „์ฒด ํ™”๋ฉด ๊ทธ๋ฆผ ์‚ฌ๋ณธ ํ•˜๋‚˜๋งŒ ์ดˆ๋‹น ์•ฝ 500MB์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ๋‚ญ๋น„๋œ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋Š” ์—”์ง„ ๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์•„๋„๋ฉ๋‹ˆ๋‹ค!

๋ฉ์ฒญํ•œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š”ํ•˜์ง€ ๋ง์•„์•ผํ•ฉ๋‹ˆ๋‹ค :

  • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ž‘์€ ๋ฐ์ดํ„ฐ๋Š” ์ปดํŒŒ์ผ ์‹œ๊ฐ„๋ณด๋‹ค ๋Š๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ ์ค‘์— ๋ถ€์ ์ ˆํ•œ ์†”๋ฃจ์…˜์— ๋ˆˆ์— ๋„๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 0.5 ์ดˆ๋ณด์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ด€์ ์—์„œ ๋ณผ ๋•Œ ํ•˜๋‚˜์˜ ๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•ด sec๋Š”์ด ํ”„๋กœ๊ทธ๋žจ์„ ์ดˆ๋‹น 20 ํšŒ ์‹คํ–‰ํ•˜๋Š” ์„œ๋ฒ„ ์„œ๋ฒ„๋ฅผ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค. ๊ทธ ๋ถ€ํ•˜๋ฅผ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ์œผ๋ ค๋ฉด 10cores๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค!
  • ์ž„๋ฒ ๋””๋“œ ์žฅ์น˜๋ฅผ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ์ž„๋ฒ ๋””๋“œ ์žฅ์น˜๋Š” ์ž‘์€ ๋ฐ์ดํ„ฐ๋กœ ์ž‘๋™ํ•˜์ง€๋งŒ ์ค‘๋ณต ์ž‘์—…์œผ๋กœ ์ธํ•ด ๋ถˆํ•„์š”ํ•œ ์ „๋ ฅ ์†Œ๋น„๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•œ ํ•œ ํšจ์œจ์ ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ noobish ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ƒˆ๋กœ์šด ์†”๋ฃจ์…˜, ๋งž์ถคํ˜• ๊ธฐ์ˆ  ๋“ฑ์„ ๊ฐœ๋ฐœํ•  ๋•Œ๋Š” ๋ฉ์ฒญํ•œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ๊ณ ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํšŒ์‚ฌ๊ฐ€ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ๊ฐœ๋ฐœํ•˜์ง€ ์•Š์œผ๋ฉด ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ๊ธฐ์ˆ  ๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ˆ™๋ จ๋˜๊ณ  ์žฌ๋Šฅ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ๊ณ ์šฉํ•˜๋Š” ๊ฒƒ์€ ์žฌ๋Šฅ์˜ ๋‚ญ๋น„ ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€ ์•Š๊ณ  ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ํ”„๋ ˆ์ž„ ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ๊ฐ ์•„์ด๋””์–ด๋ฅผ ๋””์ž์ธ๊ณผ ํ”„๋กœ๊ทธ๋žจ์— ๋„ฃ๋Š” ๊ฒƒ์ด ์ข‹์œผ๋ฉด ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•˜๊ณ  ํ•„์š”์—†๋Š” ๊ฒƒ์„ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์€ ์‹œ๊ฐ„ ๋‚ญ๋น„์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ์ทจ๋ฏธ์ด๊ณ  ๋…ผ๋ฆฌ์  ์ธ ๋„์ „์„ ์ข‹์•„ํ•œ๋‹ค๋ฉด.


๋‹ต๋ณ€

๋‚˜๋Š” ์—ฌ๊ธฐ์— ๋‹ต์„ ์“ฐ๋Š” ๊ฒƒ์„ ๋‹ค์†Œ ์ฃผ์ €ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์— ๋Œ€ํ•œ nitpicking์„ ๋ฐœ๊ฒฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— (๋‚ด ์˜๊ฒฌ ์ค‘ ์ผ๋ถ€๋Š” ์ฑ„ํŒ…์œผ๋กœ ์ด๋™ํ–ˆ์Šต๋‹ˆ๋‹ค), ์—ฌ๊ธฐ ๋‚ด๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณด๋Š”์ง€์ž…๋‹ˆ๋‹ค โ€ฆ

์ปดํ“จํŒ…์—๋Š” ๋งŽ์€ ๊ฒƒ๋“ค์— ๋Œ€ํ•œ ์ˆ˜์ค€์˜ ์ง€์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค (์ด ์šฉ์–ด๋กœ ๋‚˜๋Š” ์ปดํ“จํ„ฐ ๊ณผํ•™๊ณผ ์ •๋ณด ๊ธฐ์ˆ ์˜ ํ†ตํ•ฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค). ๊ณ„์‚ฐ ๋ณต์žก๋„๋Š” ๋ถ„๋ช…ํžˆ ๊ด‘๋Œ€ ํ•œ ๋ถ„์•ผ์ด๋ฉฐ (OptP๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•„๋น„ ๋ณด์šธ-๋น„๋ˆ„ ์•„ ์ •๋ฆฌ๊ฐ€ ๋งํ•˜๋Š”๊ฐ€?) ๊นŠ์ด๋„ ์ธ์ •ํ•ฉ๋‹ˆ๋‹ค. CS ํ•™์œ„๋ฅผ ๊ฐ€์ง„ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์€ ์—ฐ๊ตฌ์— ์ฐธ์—ฌํ•˜๋Š” ์ „๋ฌธ๊ฐ€์˜ ์ฆ๊ฑฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค ๊ณ„์‚ฐ ๋ณต์žก์„ฑ์˜ ๊ฐ„ํ–‰๋ฌผ.

๊ทธ๋Ÿฌํ•œ ๋ฌธ์ œ์— ํ•„์š”ํ•œ ์ง€์‹๊ณผ ๊ธฐ์ˆ  / ๋Šฅ๋ ฅ์˜ ์ˆ˜์ค€์€ ์ž์‹ ์ด ๋ฌด์—‡์„ ํ•˜๋Š”๊ฐ€์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ์™„์ „ํžˆ ๋‹จ์„œ๊ฐ€์—†๋Š” O (

์—”2

) ์ •๋ ฌ์€ ๋•Œ๋•Œ๋กœ ๋Š๋ฆฐ ํ”„๋กœ๊ทธ๋žจ์˜ ์ฃผ์š” ์›์ธ์ด๋ผ๊ณ  ๋งํ•˜์ง€๋งŒ [์ธ์šฉ ํ•„์š”] 2003 SIGCSE ๋…ผ๋ฌธ์— ๋”ฐ๋ฅด๋ฉด โ€œ์‚ฝ์ž… ์ •๋ ฌ์€ ํ‘œ์ค€ Java ๋ฐ C ++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ž‘์€ (ํ•˜์œ„) ๋ฐฐ์—ด์„ ์ •๋ ฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.โ€ ๋ฐ˜๋Œ€๋กœ, ์ ๊ทผ ์  ์˜๋ฏธ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ์‚ฌ๋žŒ (์ปดํ“จํŒ… ๋ณต์žก๋„๋Š” ๊ทธ๋Ÿฌํ•œ ์ฒ™๋„ ์ž„)์ด ์กฐ๊ธฐ์— ์ตœ์ ํ™” ๋˜๋Š” ๊ฒƒ์ด ๋•Œ๋•Œ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹ค๋ฌด์—์„œ ๋ฌธ์ œ๊ฐ€๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ณ„์‚ฐ ๋ณต์žก์„ฑ์ด ์ค‘์š”ํ•œ ์‹œ์ ์„ ์•„๋Š” ๊ฒƒ์€ ์ ์–ด๋„ ํ•™๋ถ€ ์ˆ˜์ค€์—์„œ ์ด์— ๋Œ€ํ•œ ํžŒํŠธ๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ์ž…๋‹ˆ๋‹ค.

C์—์„œ ์„ฑ๋Šฅ์— ๋ฏผ๊ฐํ•œ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š” ๋‹ค์†Œ ์ผ๋ฐ˜์ ์ธ ๊ด€ํ–‰ (์ž๋ฐ” ์„ธ๊ณ„ ์™ธ๋ถ€)๊ณผ ๊ณ„์‚ฐ ๋ณต์žก์„ฑ ๊ฐœ๋…์„ ์ ์šฉํ•˜๋Š” ์‹œ์ ๊ณผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฌด์‹œํ•  ์ˆ˜์žˆ๋Š” ์‹œ์ ์„ ์•Œ๊ณ ์žˆ๋Š” ์ƒํ™ฉ์„ ์†”์งํžˆ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ ๋“ฑ์˜ ๊ฒƒ๋“ค. (์ œ์ณ๋‘๊ณ , ์ด๊ฒƒ์€ Julia ํ† ํฌ์—์„œ โ€œํ‘œ์ค€ ํƒ€ํ˜‘โ€ ์ด๋ผ๊ณ  ๋ถˆ๋ €์Šต๋‹ˆ๋‹ค .) ์„ฑ๋Šฅ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•  ํ•„์š”๊ฐ€ ์—†์„ ๋•Œ ์•Œ๋ฉด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ๊ฐ„์„ ์ ˆ์•ฝ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ƒ๋‹นํžˆ ๊ท€์ค‘ํ•œ ์ƒํ’ˆ์ด๊ธฐ๋„ํ•ฉ๋‹ˆ๋‹ค.

๋˜ ํ•˜๋‚˜์˜ ์š”์ ์€ ๊ณ„์‚ฐ์˜ ๋ณต์žก์„ฑ์„ ์•Œ๋ฉด ํ”„๋กœ๊ทธ๋žจ ์ตœ์ ํ™”์— ์ž๋™์œผ๋กœ ๋„์›€์ด๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์บ์‹œ ์ง€์—ญ์„ฑ, [๋•Œ๋กœ๋Š”] ํŒŒ์ดํ”„ ๋ผ์ด๋‹, ์˜ค๋Š˜๋‚ ์˜ ๋ณ‘๋ ฌ / ๋ฉ€ํ‹ฐ ์ฝ”์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ฐ™์€ ๋” ๋งŽ์€ ์•„ํ‚คํ…์ฒ˜ ๊ด€๋ จ ์‚ฌํ•ญ์„ ์ดํ•ดํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ›„์ž๋Š” ์ž์ฒด ๋ณต์žก์„ฑ ์ด๋ก ๊ณผ ์‹ค์ œ ๊ณ ๋ ค ์‚ฌํ•ญ์„ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. A๋กœ๋ถ€ํ„ฐ ํ›„์ž์˜ ๋ง› 2013 SOSP ์šฉ์ง€ ๋ชจ๋“  ์ž ๊ธˆ ๋ฐฉ์‹์€ โ€œ์šฐ๋ฆฌ๋Š” ์ง€์†์ ์œผ๋กœ ๋ชจ๋“  ๋Œ€์ƒ ์•„ํ‚คํ…์ฒ˜ ๋˜๋Š” ์›Œํฌ๋กœ๋“œ์—, ๋‹ค๋ฅธ ํ•˜๋‚˜๋ฅผ ๋Šฅ๊ฐ€ํ•˜๋Š” ์„ฑ๋Šฅ์„ ๊ณ ๋ ค ์•„ํ™‰ ๊ฐœ ์ž ๊ธˆ ๋ฐฉ์‹์˜ ๋ช…์„ฑ. ์—†์Œ์˜ 15 ๋ถ„์žˆ๋‹ค. ์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด, ์ตœ์ ํ•˜๋Š”์„ ์ถ”๊ตฌํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ํ”Œ๋žซํผ๊ณผ ์˜ˆ์ƒ ์ž‘์—…๋Ÿ‰์— ๋”ฐ๋ผ ์ž ๊ธˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. โ€œ