Julia ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด 1.3 ๋ฆด๋ฆฌ์Šค

๊ฒŒ์‹œ ๋จ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฆด๋ฆฌ์Šค Julia 1.3, ๊ณ ์„ฑ๋Šฅ, ๋™์  ํƒ€์ดํ•‘ ์ง€์› ๋ฐ ๋ณ‘๋ ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•œ ๋‚ด์žฅ ๋„๊ตฌ์™€ ๊ฐ™์€ ํŠน์„ฑ์„ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. Julia์˜ ๊ตฌ๋ฌธ์€ MATLAB๊ณผ ์œ ์‚ฌํ•˜๋ฉฐ Ruby ๋ฐ Lisp์˜ ์ผ๋ถ€ ์š”์†Œ๋ฅผ ์ฐจ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ์กฐ์ž‘ ๋ฐฉ๋ฒ•์€ Perl์„ ์—ฐ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ ๋ฐฐํฌ์ž MIT ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ.

ะ’ ์ƒˆ๋กœ์šด ๋ฒ„์ „:

  • ๊ตฌํ˜„ ๊ฐ€๋Šฅ์„ฑ ์ถ”๊ฐ€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ถ”์ƒ ์œ ํ˜•์œผ๋กœ ๋ณ€ํ™˜;
  • ์œ ๋‹ˆ์ฝ”๋“œ 12.1.0์— ๋Œ€ํ•œ ์ง€์›์ด ์ œ๊ณต๋˜๋ฉฐ ์‹๋ณ„์ž์— ํŠน์ • ์Šคํƒ€์ผ์˜ ์œ ๋‹ˆ์ฝ”๋“œ ๋””์ง€ํ„ธ ๋ฌธ์ž(๐ŸŽ-๐Ÿ—, ๐Ÿ˜-๐Ÿก)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • ๋น„ํ‘œ์ค€ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ํ‘œ์‹œํ•˜๊ณ  ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋ ค๋ฉด ์ œ์•ˆ ์ƒˆ๋กœ์šด ๊ตฌ๋ฌธ var"#str#";
  • ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ๊ณผ ๊ด€๋ จ๋œ ๋„๊ตฌ๊ฐ€ ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์Šค๋ ˆ๋“œ์—์„œ ์ž‘์—… ์‹œ์ž‘์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด Threads.@spawn ๋งคํฌ๋กœ์™€ Channel(f::Function, generate=true) ํ‚ค์›Œ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ๋ฐ ์†Œ์ผ“์„ ์‚ฌ์šฉํ•œ ๋ชจ๋“  ์‹œ์Šคํ…œ I/O ์ž‘์—…๊ณผ ์˜์‚ฌ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ๋Š” ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋งž๊ฒŒ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค(์Šค๋ ˆ๋“œ ์•ˆ์ „).
  • ๋‹ค์Œ์„ ํฌํ•จํ•œ ์ƒˆ๋กœ์šด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    findfirst, findlast, findnext, findprev, findall(ํŒจํ„ด, ๋ฌธ์ž์—ด), count(ํŒจํ„ด, ๋ฌธ์ž์—ด), sincosd(x) ๋ฐ nonmissingtype.

์–ธ์–ด์˜ ์ฃผ์š” ํŠน์ง•:

  • ๋†’์€ ์„ฑ๋Šฅ: ํ”„๋กœ์ ํŠธ์˜ ์ฃผ์š” ๋ชฉํ‘œ ์ค‘ ํ•˜๋‚˜๋Š” C ํ”„๋กœ๊ทธ๋žจ์— ๊ฐ€๊นŒ์šด ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Julia ์ปดํŒŒ์ผ๋Ÿฌ๋Š” LLVM ํ”„๋กœ์ ํŠธ์˜ ์ž‘์—…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ๋งŽ์€ ๋Œ€์ƒ ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ํšจ์œจ์ ์ธ ๊ธฐ๋ณธ ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ์ฒด ์ง€ํ–ฅ ๋ฐ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”์†Œ๋ฅผ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ฌด์—‡๋ณด๋‹ค๋„ ๋น„๋™๊ธฐ I/O, ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ, ๋กœ๊น…, ํ”„๋กœํŒŒ์ผ๋ง ๋ฐ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋™์  ํƒ€์ดํ•‘: ์Šคํฌ๋ฆฝํŒ… ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด ์–ธ์–ด์—์„œ๋Š” ๋ณ€์ˆ˜ ์œ ํ˜•์— ๋Œ€ํ•œ ๋ช…์‹œ์ ์ธ ์ •์˜๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€ํ™”ํ˜• ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ์œ ํ˜•์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜๋Š” ์„ ํƒ์  ๊ธฐ๋Šฅ.
  • ์ˆ˜์น˜ ์ปดํ“จํŒ…, ๊ณผํ•™ ์ปดํ“จํŒ…, ๊ธฐ๊ณ„ ํ•™์Šต ๋ฐ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”์— ์ด์ƒ์ ์ธ ๊ตฌ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ณ„์‚ฐ ๋ณ‘๋ ฌํ™”๋ฅผ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์ˆซ์ž ๋ฐ์ดํ„ฐ ์œ ํ˜• ๋ฐ ๋„๊ตฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€ ๋ ˆ์ด์–ด ์—†์ด C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ํ•จ์ˆ˜๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•˜๋Š” ๊ธฐ๋Šฅ.
  • ์ถœ์ฒ˜ : opennet.ru

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