์–ผ๋žญ/OTP 25 ๋ฆด๋ฆฌ์Šค

25๋…„์˜ ๊ฐœ๋ฐœ ๋์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ์š”์ฒญ์„ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ„์‚ฐํ˜• ๋‚ด๊ฒฐํ•จ์„ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๊ธฐ๋Šฅ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ธ Erlang 25๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์–ธ์–ด๋Š” ํ†ต์‹ , ์€ํ–‰ ์‹œ์Šคํ…œ, ์ „์ž ์ƒ๊ฑฐ๋ž˜, ์ปดํ“จํ„ฐ ์ „ํ™” ํ†ต์‹  ๋ฐ ์ธ์Šคํ„ดํŠธ ๋ฉ”์‹œ์ง•๊ณผ ๊ฐ™์€ ๋ถ„์•ผ์—์„œ ๋„๋ฆฌ ๋ณด๊ธ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— Erlang ์–ธ์–ด๋กœ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋™๋ฐ˜ ์„ธํŠธ์ธ OTP XNUMX(๊ฐœ๋ฐฉํ˜• ํ†ต์‹  ํ”Œ๋žซํผ)๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹ :

  • "begin ... end"์™€ ์œ ์‚ฌํ•˜๊ฒŒ ์—ฌ๋Ÿฌ ํ‘œํ˜„์‹์„ ํ•˜๋‚˜์˜ ๋ธ”๋ก์œผ๋กœ ๊ทธ๋ฃนํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด "maybe ... end" ๊ตฌ์„ฑ์ด ๊ตฌํ˜„๋˜์—ˆ์ง€๋งŒ ๋ธ”๋ก์—์„œ ๋ณ€์ˆ˜๋ฅผ ๋‚ด๋ณด๋‚ด์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.
  • ์„ ํƒ์  ๊ธฐ๋Šฅ ํ™œ์„ฑํ™”์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์–ด ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ์†์ƒ์‹œํ‚ค์ง€ ์•Š๊ณ  ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ๊นจ๋œจ๋ฆด ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ์–ธ์–ด ๋ฐ ๋Ÿฐํƒ€์ž„ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ ์ง„์ ์œผ๋กœ ๋„์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ์€ ์ปดํŒŒ์ผ ํƒ€์ž„๊ณผ ์ฝ”๋“œ ํŒŒ์ผ์˜ feature() ์ง€์‹œ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ผœ๊ณ  ๋Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฝ”๋“œ์—์„œ ์ƒˆ๋กœ์šด Maybe ํ‘œํ˜„์‹์„ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด "feature(maybe_expr,enable)"์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • JIT ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋ฐ์ดํ„ฐ ์œ ํ˜• ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ตœ์ ํ™”๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  64๋น„ํŠธ ARM ํ”„๋กœ์„ธ์„œ(AArch64)์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ์˜ ์ค„ ๋ฒˆํ˜ธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” perf ๋ฐ gdb ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ๋Œ€ํ•œ ์ง€์›์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ด€๋ จ Erlang ๋…ธ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ ์ƒˆ๋กœ์šด ํ”ผ์–ด ๋ชจ๋“ˆ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ์— ๋Œ€ํ•œ ์ œ์–ด ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง€๋ฉด ๋…ธ๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.
  • OpenSSL 3.0์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์š”์†Œ ๋ชฉ๋ก์„ ๊ทธ๋ฃนํ™”ํ•˜๊ธฐ ์œ„ํ•ด groups_from_list/2 ๋ฐ groups_from_list/3 ํ•จ์ˆ˜๊ฐ€ ์ง€๋„ ๋ชจ๋“ˆ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชฉ๋ก์—์„œ ์ค‘๋ณต๋œ ์š”์†Œ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์š”์†Œ ๋ฒˆํ˜ธ๊ฐ€ ์žˆ๋Š” ํŠœํ”Œ ๋ชฉ๋ก์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํ•จ์ˆ˜ uniq/1, uniq/2, enumerate/1 ๋ฐ enumerate/2๊ฐ€ ๋ชฉ๋ก ๋ชจ๋“ˆ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • rand ๋ชจ๋“ˆ์€ ์ƒˆ๋กญ๊ณ  ๋งค์šฐ ๋น ๋ฅธ ์˜์‚ฌ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€