เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฃเปเบเบฃเบก Julia 1.9 เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰

เบเบฒเบ™เบ›เปˆเบญเบเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบก Julia 1.9 เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบžเบตเบกเบกเบฒ, เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบเบฑเบšเบ„เบธเบ™เบ™เบฐเบžเบฒเบšเป€เบŠเบฑเปˆเบ™: เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบžเบดเบกเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบ‚เบฐเบซเบ™เบฒเบ™. syntax เบ‚เบญเบ‡ Julia เปเบกเปˆเบ™เบขเบนเปˆเปƒเบเป‰เบเบฑเบš MATLAB, เบเบนเป‰เบขเบทเบกเบšเบฒเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบˆเบฒเบ Ruby เปเบฅเบฐ Lisp. เบงเบดเบ—เบตเบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰ string เปเบกเปˆเบ™ reminiscent เบ‚เบญเบ‡ Perl. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT.

เบ„เบธเบ™โ€‹เบ™เบฐโ€‹เบชเบปเบกโ€‹เบšเบฑเบ”โ€‹เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹เบ‚เบญเบ‡โ€‹เบžเบฒโ€‹เบชเบฒโ€‹:

  • เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡: เบซเบ™เบถเปˆเบ‡เปƒเบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบเป‰เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™ C. Julia compiler เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ LLVM เปเบฅเบฐเบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเปเบฒเบฅเบฑเบšเบซเบผเบฒเบเป†เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ;
  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบ•เปˆเบฒเบ‡เป†, เบฅเบงเบกเบ—เบฑเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเปเบšเบšเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เปเบฅเบฐเบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ. เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเบฐเบซเบ™เบญเบ‡, เปƒเบ™เบšเบฑเบ™เบ”เบฒเบชเบดเปˆเบ‡เบญเบทเปˆเบ™เป†, เบซเบ™เป‰เบฒเบ—เบตเปˆเบชเปเบฒเบฅเบฑเบš asynchronous I/O, เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ‚เบฐเบšเบงเบ™เบเบฒเบ™, เบเบฒเบ™เบ•เบฑเบ”เป„เบกเป‰, profileing, เปเบฅเบฐเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆ;
  • เบเบฒเบ™เบžเบดเบกเปเบšเบšเป„เบ”เบ™เบฒเบกเบดเบ: เบžเบฒเบชเบฒเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ„เปเบฒเบ™เบดเบเบฒเบกเบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเปเบ›, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบก. เบฎเบนเบšเปเบšเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™;
  • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบฅเบฐเบšเบธเบ›เบฐเป€เบžเบ”เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™;
  • syntax เบ—เบตเปˆโ€‹เป€เบซเบกเบฒเบฐโ€‹เบชเบปเบกโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ„เบดเบ”โ€‹เป„เบฅเปˆโ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹, เบ„เบญเบกโ€‹เบžเบดเบงโ€‹เป€เบ•เบตโ€‹เบงเบดโ€‹เบ—เบฐโ€‹เบเบฒโ€‹เบชเบฒเบ”โ€‹, เบเบฒเบ™โ€‹เบฎเบฝเบ™โ€‹เบฎเบนเป‰โ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบˆเบฑเบโ€‹, เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เป€เบšเบดเปˆเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹. เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ.
  • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป‚เบ—เบซเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆเป‚เบ”เบเบเบปเบ‡เบˆเบฒเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” C เป‚เบ”เบเบšเปเปˆเบกเบตเบŠเบฑเป‰เบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™ Julia 1.9:

  • เบฅเบฑเบเบชเบฐเบ™เบฐเบžเบฒเบชเบฒเปƒเบซเบกเปˆ
    • เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบตเบเบฒเบ™เบกเบญเบšเปเบฒเบเปƒเบ™เป‚เบกเบ”เบนเบ™เบญเบทเปˆเบ™เป‚เบ”เบเปƒเบŠเป‰ "setproperty!(::Module, ::Symbol, x)".
    • เบเบฒเบ™เบกเบญเบšเปเบฒเบเบซเบผเบฒเบเบญเบฑเบ™เบ—เบตเปˆเบšเปเปˆเบขเบนเปˆเปƒเบ™เบ•เบณเปเปœเปˆเบ‡เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบญเบฐเบ™เบธเบเบฒเบ”. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเบฐเบ•เบดเบ‡ โ€œa, bโ€ฆ, c = 1, 2, 3, 4โ€ เบˆเบฐเบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เป€เบ›เบฑเบ™ โ€œa = 1; bโ€ฆ, = 2, 3; c = 4". เบญเบฑเบ™เบ™เบตเป‰เบ–เบทเบเบˆเบฑเบ”เบเบฒเบ™เบœเปˆเบฒเบ™ Base.split_rest.
    • เบ”เบฝเบงเบ™เบตเป‰เบ•เบปเบงเปœเบฑเบ‡เบชเบทเบ•เบปเบงเปœเบฑเบ‡เบชเบทเบ”เปˆเบฝเบงเบฎเบญเบ‡เบฎเบฑเบš syntax เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ•เบปเบงเปœเบฑเบ‡เบชเบทเบชเบฐเบ•เบฃเบดเบ‡; เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™. syntax เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบฅเปเบฒเบ”เบฑเบš UTF-8 เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เบ•เบฒเบกเบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เป‚เบ”เบเบ›เบฐเป€เบžเบ” Char.
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบชเบฐเป€เบžเบฒเบฐ Unicode 15.
    • เบ›เบฐเบˆเบธเบšเบฑเบ™เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ‚เบญเบ‡ tuples เปเบฅเบฐ tuples เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ›เบฐเป€เบžเบ”.
    • เบŸเบฑเบ‡เบŠเบฑเบ™เปƒเบซเบกเปˆเปƒเบ™เบ•เบปเบง "getglobal(::Module, ::Symbol[, order])" เปเบฅเบฐ "setglobal!(::Module, ::Symbol, x[, order])" เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเปˆเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ‚เบฝเบ™เบชเบฐเป€เบžเบฒเบฐเบเบฑเบšเบ•เบปเบงเปเบ›เบ—เบปเปˆเบงเป‚เบฅเบ. เบงเบดเบ—เบตเบเบฒเบ™ getglobal เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™เบ—เบตเปˆเบ™เบดเบเบปเบกเบซเบผเบฒเบเบเบงเปˆเบฒเบงเบดเบ—เบตเบเบฒเบ™ getfield เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ•เบปเบงเปเบ›เบ—เบปเปˆเบงเป‚เบฅเบ.
  • เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบžเบฒเบชเบฒ
    • เบกเบฐเบซเบฒเบžเบฒเบ "@invoke" เบ—เบตเปˆเบ™เบณเบชเบฐเป€เปœเบตเปƒเบ™เป€เบงเบตเบŠเบฑเปˆเบ™ 1.7 เบ•เบญเบ™เบ™เบตเป‰เบ–เบทเบเบชเบปเปˆเบ‡เบญเบญเบ เปเบฅเบฐเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เปเบฅเป‰เบง. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบฑเบ™เปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ "Core.Typeof(x)" เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™ "Any" เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบ„เปเบฒเบšเบฑเบ™เบเบฒเบเบ›เบฐเป€เบžเบ”เบ–เบทเบเบเบปเบเป€เบงเบฑเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ "x". เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบ›เบฐเป€เบžเบ”เบ—เบตเปˆเบœเปˆเบฒเบ™เป€เบ›เบฑเบ™ arguments เป„เบ”เป‰เบ–เบทเบเบ›เบธเบ‡เปเบ•เปˆเบ‡เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡.
    • เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบชเบปเปˆเบ‡เบญเบญเบเบŸเบฑเบ‡เบŠเบฑเบ™ "invokelatest" เปเบฅเบฐเบกเบฐเบซเบฒเบžเบฒเบ "@invokelatest", เปเบ™เบฐเบ™เบณเปƒเบ™เป€เบงเบตเบŠเบฑเบ™ 1.7.
  • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก / runtime
    • เบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ” (TTFX - เป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”). Precompiling a package now stored the native code in "pkgimage", เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™ precompilation เบˆเบฐเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™ compiled เปƒเบซเบกเปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบŠเบธเบ”เป„เบ”เป‰เบ–เบทเบเป‚เบซเบฅเบ”. เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เป‚เปเบ” pkgimages เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ›เบดเบ”เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบ "--pkgimages=no".
    • เบšเบฑเบ™เบซเบฒเบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™ quadratic เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡ inference เป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚, เปเบฅเบฐเบเบฒเบ™ inference เปƒเบŠเป‰เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบซเบ™เป‰เบญเบเป‚เบ”เบเบฅเบงเบก. เบšเบฒเบ‡เบเปเบฅเบฐเบ™เบตเบ‚เบญเบšเบ—เบตเปˆเบกเบตเบŸเบฑเบ‡เบŠเบฑเบ™เบเบฒเบงเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” (เป€เบŠเบฑเปˆเบ™: ModelingToolkit.jl เบ—เบตเปˆเบกเบตเบชเบปเบกเบœเบปเบ™เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบšเบฒเบ‡เบชเปˆเบงเบ™ เปเบฅเบฐเปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบชเบฒเป€เบซเบ”เปƒเบซเบเปˆ) เบฅเบงเบšเบฅเบงเบกเป„เบงเบ‚เบถเป‰เบ™เบซเบผเบฒเบ.
    • เบเบฒเบ™เป‚เบ—เบ—เบตเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เป‚เบ”เบเบšเปเปˆเบกเบตเบ›เบฐเป€เบžเบ”เบชเบตเบกเบฑเบ‡, เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™ Union-splitting เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบตเบ”เบซเบผเบทเบเบฒเบ™เปเบเป‰เป„เบ‚เบ„เบปเบ‡เบ—เบตเปˆ, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบˆเบฐเบกเบตเบœเบนเป‰เบชเบฐเบซเบกเบฑเบเบ›เบฐเป€เบžเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡. เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบšเบฒเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบ›เบฐเป€เบžเบ”เบงเบฑเบ”เบ–เบธเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™, เป‚เบ”เบเบเบฒเบ™เปเบเป‰เป„เบ‚ "@nospecialize-d" เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเป‚เบ—เบซเบฒเปเบฅเบฐเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™ recompilation.
    • เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เบ—เบฑเบ‡เปเบปเบ”เบ‚เบญเบ‡ @pure macro เปƒเบ™เป‚เบกเบ”เบนเบ™ Base เป„เบ”เป‰เบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบ Base.@assume_effects.
    • เบเบฒเบ™เป‚เบ—เบซเบฒเป€เบžเบทเปˆเบญเป€เบญเบตเป‰เบ™เบฎเป‰เบญเบ‡(f, invokesig, args...) เบ—เบตเปˆเบกเบตเบ›เบฐเป€เบžเบ”เบชเบฐเป€เบžเบฒเบฐเปœเป‰เบญเบเบเบงเปˆเบฒเบ—เบตเปˆเปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ›เบชเบณเบฅเบฑเบš f(args...) เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เปเบžเบฑเบเป€เบเบ”เบ–เบทเบเบฅเบงเบšเบฅเบงเบกเบ„เบทเบ™เปƒเปเปˆ.
  • เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡
    • เปƒเบ™ Linux เปเบฅเบฐ Windows, เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--threads=auto" เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบฐเบเบฒเบเบฒเบกเบเปเบฒเบ™เบปเบ”เบˆเปเบฒเบ™เบงเบ™เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ—เบตเปˆเบกเบตเบขเบนเปˆเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ‚เบญเบ‡ CPU, เบซเบ™เป‰เบฒเบเบฒเบเบ—เบตเปˆเบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™ HPC เปเบฅเบฐเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบŸเบฑเบ‡.
    • เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต "--math-mode=fast" เบ–เบทเบเบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰ "@fastmath" macro, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบเปเบฒเบ™เบปเบ” semantics เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™.
    • เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--threads" เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบฎเบนเบšเปเบšเบš "เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” | N[,auto|M]", เบšเปˆเบญเบ™เบ—เบตเปˆ M เบŠเบตเป‰เบšเบญเบเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบซเบปเบงเบ‚เปเป‰เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡ (เบ›เบฐเบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒ 1).
    • เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเป€เบžเบตเปˆเบก โ€œโ€”heap-size-hint=โ€, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบเบฒเบ™เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบ‚เบฐเบซเบ™เบฒเบ”เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™ bytes, kilobytes (1000 KB), megabytes (300 MB), เบซเบผเบท gigabyte (1,5 GB).
  • เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™ multithreading
    • เบ•เบญเบ™เบ™เบตเป‰ "Threads.@spawn" เบกเบต argument เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบกเบตเบ„เปˆเบฒ ":default" เบซเบผเบท ":interactive". เบงเบฝเบเบ‡เบฒเบ™เปเบšเบšเป‚เบ•เป‰เบ•เบญเบšเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเปœเบญเบ‡เบ•เปเปˆเบฒ เปเบฅเบฐเบ–เบทเบเบญเบญเบเปเบšเบšเปƒเบซเป‰เบชเบฑเป‰เบ™ เบซเบผเบทเป€เบฎเบฑเบ”เป€เบฅเบทเป‰เบญเบเป†. เบงเบฝเบเบ‡เบฒเบ™เปเบšเบšเป‚เบ•เป‰เบ•เบญเบšเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบเบฐเบ—เบนเป‰เปเบšเบšเป‚เบ•เป‰เบ•เบญเบšเบ–เป‰เบฒเบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบเปเบฒเบ™เบปเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ Julia.
    • เบเบฐเบ—เบนเป‰เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเบ™เบญเบเป€เบงเบฅเบฒเปเบฅเปˆเบ™ Julia (เป€เบŠเบฑเปˆเบ™เบˆเบฒเบ C เบซเบผเบท Java) เบ•เบญเบ™เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป‚เบ—เบซเบฒเบฅเบฐเบซเบฑเบ” Julia เป‚เบ”เบเปƒเบŠเป‰ "jl_adopt_thread". เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบทเป‰เบ™เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป€เบกเบทเปˆเบญเปƒเบชเปˆเบฅเบฐเบซเบฑเบ” Julia เบœเปˆเบฒเบ™ "cfunction" เบซเบผเบท "@ccallable" เบˆเบธเบ”เป€เบ‚เบปเป‰เบฒ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบˆเปเบฒเบ™เบงเบ™เบเบฐเบ—เบนเป‰เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.
  • เบŸเบฑเบ‡เบŠเบฑเบ™เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เปƒเปเปˆ
    • เบŸเบฑเบ‡เบŠเบฑเบ™เปƒเบซเบกเปˆ "Iterators.flatmap".
    • เบŸเบฑเบ‡เบŠเบฑเบ™เปƒเปเปˆ "pkgversion(m::Module)" เป€เบžเบทเปˆเบญเป€เบญเบปเบฒเป€เบงเบตเบŠเบฑเบ™เบ‚เบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเป‚เบซเบผเบ”เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเปƒเบซเป‰เบกเบฒ, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบš "pkgdir(m::Module)".
    • เบŸเบฑเบ‡เบŠเบฑเบ™เปƒเปเปˆ "stack(x)" เบ—เบตเปˆ generalizes "reduce(hcat, x::Vector{<:Vector})" เป„เบ›เบซเบฒเบกเบดเบ•เบดเปƒเบ”เบ™เบถเปˆเบ‡ เปเบฅเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบฎเบฑเบ”เบเบฒเบ™ iterators เปƒเบ”เป†เบเปเบ•เบฒเบก. เบงเบดเบ—เบตเบเบฒเบ™ "stack(f, x)" generalizes "mapreduce(f, hcat, x)" เปเบฅเบฐเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบเบ‚เบถเป‰เบ™.
    • เบกเบฐเบซเบฒเบžเบฒเบเปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบˆเบฑเบ”เบชเบฑเบ™ "@allocation", เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš "@allocation", เบเบปเบเป€เบงเบฑเป‰เบ™เบงเปˆเบฒเบกเบฑเบ™เบชเบปเปˆเบ‡เบ„เบทเบ™เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบˆเบฑเบ”เบชเบฑเบ™.
  • เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เปƒเปเปˆ
    • เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ "RoundFromZero" เป€เบฎเบฑเบ”เบงเบฝเบเบชเปเบฒเบฅเบฑเบšเบ›เบฐเป€เบžเบ”เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบ "BigFloat".
    • เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ "Dict" เบชเบฒเบกเบฒเบ”เบ–เบทเบเบซเบผเบธเบ”เบฅเบปเบ‡เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เป‚เบ”เบเปƒเบŠเป‰ "sizehint!"
    • เบ•เบญเบ™เบ™เบตเป‰ "@time" เปเบเบเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบฎเป‰เบญเบเบ‚เบญเบ‡เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡.
  • เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™
    • เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบเบปเบ‡เบเบฑเบ™เปƒเบ™เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบŠเป‰เบณเบชเปเบฒเบฅเบฑเบš Dict เปเบฅเบฐเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบกเบฒเบˆเบฒเบเบญเบทเปˆเบ™เป†เป€เบŠเบฑเปˆเบ™: keys(::Dict), values(::Dict) เปเบฅเบฐ Set. เบงเบดเบ—เบตเบเบฒเบ™ iteration เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบญเบตเป‰เบ™เบงเปˆเบฒ Dict เบซเบผเบทเบเปเบฒเบ™เบปเบ”เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเปˆเบˆเปเบฒเบเบฑเบ”เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ threads, เบ•เบฒเบšเปƒเบ”เบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ”เบฑเบ”เปเบเป‰เบงเบฑเบ”เบˆเบฐเบ™เบฒเบ™เบธเบเบปเบกเบซเบผเบทเบเปเบฒเบ™เบปเบ”.
    • เบเบฒเบ™เบ›เบฐเบ•เบดเป€เบชเบ”เบŸเบฑเบ‡เบŠเบฑเบ™ predicate "!f" เบ•เบญเบ™เบ™เบตเป‰เบชเบปเปˆเบ‡เบ„เบทเบ™เบŸเบฑเบ‡เบŠเบฑเบ™เบ›เบฐเบชเบปเบก "(!) โˆ˜ f" เปเบ—เบ™เบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบตเปˆเบšเปเปˆเป€เบ›เบตเบ”เป€เบœเบตเบเบŠเบทเปˆ.
    • เบŸเบฑเบ‡เบŠเบฑเบ™เบ‚เบญเบ‡เปเบ–เบšเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบ—เบปเปˆเบงเบซเบผเบฒเบเบกเบดเบ•เบด: "เปเบ•เปˆเบฅเบฐเปเบœเปˆเบ™", "เปเบ•เปˆเบฅเบฐ" เปเบฅเบฐ "เปเบ•เปˆเบฅเบฐเบชเปˆเบงเบ™" เบชเบปเปˆเบ‡เบ„เบทเบ™เบงเบฑเบ”เบ–เบธ "Slices" เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบเบฒเบ™เปเบˆเบเบขเบฒเบเปƒเบซเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบเบ‚เบถเป‰เบ™.
    • เป€เบžเบตเปˆเบก "@kwdef" macro เปƒเบชเปˆ API เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ.
    • เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เปƒเบ™ "fld1".
    • เบ•เบญเบ™เบ™เบตเป‰เบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเปเบฑเป‰เบ™เบ„เบปเบ‡เบชเบฐเป€เปเบต (QuickSort เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบญเบญเบเปเบšเบšเปƒเปเปˆ).
    • "Base.splat" เบ–เบทเบเบชเบปเปˆเบ‡เบญเบญเบเปเบฅเป‰เบง. เบกเบนเบ™เบ„เปˆเบฒเบเบฑเบšเบ„เบทเบ™เปเบกเปˆเบ™เบ›เบฐเป€เบžเบ” "Base.Splat" เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบตเปˆเบšเปเปˆเป€เบ›เบตเบ”เป€เบœเบตเบเบŠเบทเปˆ, เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆเบชเบงเบเบ‡เบฒเบก.
  • เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบŠเบธเบ”
    • "เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเปเบžเบฑเบเป€เบเบ”": เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เบ‚เปเป‰เบกเบนเบ™เบฅเบฐเบซเบฑเบ”เบˆเบฒเบเปเบžเบฑเบเป€เบเบฑเบ”เบญเบทเปˆเบ™เบ—เบตเปˆเป‚เบซเบฅเบ”เปƒเบ™เป€เบŠเบ”เบŠเบฑเบ™ Julia. เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบŠเบธเบ” "Requires.jl", เปเบ•เปˆเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒเปเบฅเบฐเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบกเปˆเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™.
  • เบซเปเบชเบฐเปเบธเบ” LinearAlgebra
    • เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เบเบฑเบšเบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เบ—เบตเปˆเบชเบฐเบซเบฅเบฒเบ”, เบ–เบญเบ™เบงเบดเบ—เบตเบเบฒเบ™ "a/b" เปเบฅเบฐ "b\a" เบ—เบตเปˆเบกเบต scalar "a" เปเบฅเบฐ vector "b", เป€เบŠเบดเปˆเบ‡เป€เบ—เบปเปˆเบฒเบเบฑเบš "a * pinv(b)".
    • เบเบฒเบ™เป‚เบ—เบซเบฒ BLAS เปเบฅเบฐ LAPACK เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เปƒเบŠเป‰ "libblastrampoline (LBT)". OpenBLAS เปเบกเปˆเบ™เบชเบฐเปœเบญเบ‡เปƒเบซเป‰เบ•เบฒเบกเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เปเบ•เปˆเบเบฒเบ™เบชเป‰เบฒเบ‡เบฎเบนเบšเบžเบฒเบšเบฅเบฐเบšเบปเบšเบ”เป‰เบงเบเบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” BLAS/LAPACK เบญเบทเปˆเบ™เป†เปเบกเปˆเบ™เบšเปเปˆเบฎเบญเบ‡เบฎเบฑเบš. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰เบเบปเบ™เป„เบ LBT เป€เบžเบทเปˆเบญเบ—เบปเบ”เปเบ—เบ™ BLAS / LAPACK เบเบฑเบšเบŠเบธเบ”เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเบญเบทเปˆเบ™.
    • "lu" เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบธเบ”เบ—เบฐเบชเบฒเบ”เบเบฒเบ™เบซเบกเบธเบ™เบกเบฒเบ•เบฃเบดเบเป€เบšเบทเป‰เบญเบ‡เปƒเบซเบกเปˆ, "RowNonZero()", เป€เบŠเบดเปˆเบ‡เป€เบฅเบทเบญเบเบญเบปเบ‡เบ›เบฐเบเบญเบšเบเบฒเบ™เบซเบกเบธเบ™เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบชเบนเบ™เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เป€เบžเบทเปˆเบญเบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเบ›เบฐเป€เบžเบ”เป€เบฅเบเบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เปƒเบซเบกเปˆเปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบก.
    • "normalize(x, p = 2)" เบ•เบญเบ™เบ™เบตเป‰เบฎเบญเบ‡เบฎเบฑเบšเบžเบทเป‰เบ™เบ—เบตเปˆ vector เบ›เบปเบเบเบฐเบ•เบด "x", เบฅเบงเบกเบ—เบฑเบ‡ scalar.
    • เบˆเปเบฒเบ™เบงเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฐเบ—เบนเป‰ BLAS เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™เป€เบ—เบปเปˆเบฒเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ CPU threads เปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐ ARM เปเบฅเบฐเป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฐเบ—เบนเป‰ CPU เปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบญเบทเปˆเบ™เป†.
  • Printf: เปเบเป‰เป„เบ‚เบ‚เปเป‰เบ„เบงเบฒเบกเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบ„เบทเบ™เปƒเปเปˆเบชเบณเบฅเบฑเบšเบชเบฐเบ•เบฃเบดเบ‡เบ—เบตเปˆเบกเบตเบฎเบนเบšเปเบšเบšเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เป€เบžเบทเปˆเบญเปƒเบซเป‰เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เบ”เบตเบ‚เบถเป‰เบ™.
  • เป‚เบ›เบฃเป„เบŸเบฅเปŒ: เบŸเบฑเบ‡เบŠเบฑเบ™เปƒเปเปˆ "Profile.take_heap_snapshot(file)", เป€เบŠเบดเปˆเบ‡เบ‚เบฝเบ™เป„เบŸเบฅเปŒเปƒเบ™เบฎเบนเบšเปเบšเบš ".heapsnapshot" เบ—เบตเปˆเปƒเบŠเป‰ JSON เบ—เบตเปˆเบฎเบญเบ‡เบฎเบฑเบšเปƒเบ™ Chrome.
  • Random: randn เปเบฅเบฐ randexp เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบชเปเบฒเบฅเบฑเบšเบ›เบฐเป€เบžเบ” AbstractFloat เบ—เบตเปˆเบเปเบฒเบ™เบปเบ” rand.
  • เบชเบปเปˆเบ‡เบ„เบทเบ™
    • เบเบฒเบ™เบเบปเบ”เบ›เบธเปˆเบก "Alt-e" เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป€เบ›เบตเบ”เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เปƒเบ™เบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™. เป€เบ™เบทเป‰เบญเบซเบฒ (เบ–เป‰เบฒเบ”เบฑเบ”เปเบเป‰) เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบญเบญเบเบˆเบฒเบเบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™.
    • เบšเปเบฅเบดเบšเบปเบ”เบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ REPL เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰ (เบ•เบปเป‰เบ™เบ•เปเป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™) เป‚เบ”เบเปƒเบŠเป‰เบŸเบฑเบ‡เบŠเบฑเบ™ "REPL.activate(::Module)" เบซเบผเบทเป‚เบ”เบเบเบฒเบ™เปƒเบชเปˆเป‚เบกเบ”เบนเบ™เปƒเบ™ REPL เปเบฅเบฐเบเบปเบ”เบ›เบธเปˆเบก "Alt-m".
    • เป‚เบซเบกเบ” "numbered prompt", เป€เบŠเบดเปˆเบ‡เบžเบดเบกเบ•เบปเบงเป€เบฅเบเบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ input เปเบฅเบฐ output เปเบฅเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ„เบฐเปเบ™เบ™เปƒเบ™ Out, เบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เปƒเบŠเป‰เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰ "REPL.numbered_prompt!()".
    • เบเบฒเบ™เบชเปเบฒเป€เบฅเบฑเบ”เปเบ–เบšเบชเบฐเปเบ”เบ‡เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ„เปเบฒเบซเบฅเบฑเบเบ—เบตเปˆเบกเบตเบขเบนเปˆ.
  • SuiteSparse: เบเป‰เบฒเบเบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเปเบเป‰เป„เบ‚ "SuiteSparse" เป„เบ› "SparseArrays.jl". Solvers เป„เบ”เป‰เบ–เบทเบเบชเบปเปˆเบ‡เบญเบญเบเบ„เบทเบ™เปƒเบซเบกเปˆเป‚เบ”เบ "SuiteSparse.jl".
  • SparseArrays
    • เบ”เบฝเบงเบ™เบตเป‰เบ•เบปเบงเปเบเป‰เป„เบ‚ "SuiteSparse" เปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปƒเบ™เป‚เบกเบ”เบนเบ™เบเปˆเบญเบ "SparseArrays".
    • เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เบเบฐเบ—เบนเป‰ UMFPACK เปเบฅเบฐ CHOLMOD เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เป‚เบ”เบเบเบฒเบ™เบเปเบฒเบˆเบฑเบ”เบ•เบปเบงเปเบ›เบ—เบปเปˆเบงเป‚เบฅเบเปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ locks. เบซเบผเบฒเบเบเบฐเบ—เบนเป‰ "ldiv!" เบ”เบฝเบงเบ™เบตเป‰เบงเบฑเบ”เบ–เบธ UMFPACK เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ›เบญเบ”เป„เบž.
    • เบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบปเบ”เบฅเบญเบ‡ "SparseArrays.allowscalar(::Bool)" เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™ เบซเบผเบทเป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบˆเบฑเบ”เบ”เบฑเบ”เบŠเบฐเบ™เบตเบ‚เบญเบ‡ array sparse. เบŸเบฑเบ‡เบŠเบฑเบ™เบ™เบตเป‰เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบเบงเบ”เบซเบฒเบเบฒเบ™เบ”เบฑเบ”เบชเบฐเบ™เบตเบชเบฐเป€เบเบฑเบ”เบ•เบฒเปเบšเบšเบชเบธเปˆเบกเบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธ "SparseMatrixCSC", เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡เบ—เบปเปˆเบงเป„เบ›เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.
  • เป‚เปเบ”เบšเปเปˆเบ›เบญเบ”เป„เบžเปƒเปเปˆเบชเบณเบฅเบฑเบšเบŠเบธเบ”เบ—เบปเบ”เบชเบญเบšเบ—เบตเปˆเบขเบธเบ”เบเบฒเบ™เบ”เบณเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเปˆเบญเบ™เปœเป‰เบฒเบ™เบฑเป‰เบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเป€เบเบตเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” เบซเบผเบทเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”. เบ•เบฑเป‰เบ‡เบœเปˆเบฒเบ™ โ€œ@testset kwag failfast=trueโ€ เบซเบผเบท โ€œเบชเบปเปˆเบ‡เบญเบญเบ JULIA_TEST_FAILFAST=trueโ€. เบ™เบตเป‰เปเบกเปˆเบ™เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™ CI เปเบฅเปˆเบ™เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบเปˆเบญเบ™เป„เบงเบญเบฑเบ™เบ„เบงเบ™.
  • เบงเบฑเบ™เบ—เบต: เบชเบฐเบ•เบฃเบดเบ‡เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบงเบดเป€เบ„เบฒเบฐเบขเปˆเบฒเบ‡เบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™เบ„เปˆเบฒ "DateTime", "Dates" เบซเบผเบท "Times" เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡ เปเบฅเบฐเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบ–เบดเป‰เบก "ArgumentError" เปƒเบ™เบ•เบปเบงเบชเป‰เบฒเบ‡เปเบฅเบฐเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ "tryparse" เบเบฑเบšเบ„เบทเบ™เบกเบฒเบšเปเปˆเบกเบตเบซเบเบฑเบ‡.
  • เปเบžเบเป€เบเบ”เปเบˆเบเบขเบฒเบ
    • เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบžเบฑเบเป€เบเบฑเบ” (เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบง, "LOAD_PATH", "DEPOT_PATH") เป„เบ”เป‰เบ–เบทเบเป€เบœเบตเบเปเบœเปˆเปเบฅเป‰เบงเป€เบกเบทเปˆเบญเป€เบžเบตเปˆเบกเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ (เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เปƒเบŠเป‰ "addprocs(N::Int)" เบซเบผเบทเบเบฒเบ™เปƒเบŠเป‰เบ—เบธเบ‡เปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡ "--procs=N").
    • "addprocs" เบชเปเบฒเบฅเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบเบญเบกเบฎเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบงเปˆเบฒ "env" เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป„เบ›เบซเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‚เบญเบ‡เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™.
  • Unicode: "graphemes(s, m:n)" เบชเบปเปˆเบ‡เบ„เปˆเบฒเบเปˆเบญเบเบˆเบฒเบ mth เบซเบฒ nth graphems เปƒเบ™ "s".
  • เปเบžเบฑเบเป€เบเบฑเบ” DelimitedFiles เป„เบ”เป‰เบ–เบทเบเบฅเบถเบšเบญเบญเบเบˆเบฒเบเบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเปเบฅเป‰เบง เปเบฅเบฐเบ•เบญเบ™เบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเปเบˆเบเบขเบฒเบเป€เบ›เบฑเบ™เปเบžเบฑเบเป€เบเบฑเบ”เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ—เบตเปˆเบ•เป‰เบญเบ‡เป„เบ”เป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เป€เบžเบทเปˆเบญเบ™เบณเปƒเบŠเป‰.
  • เบเบฒเบ™เบ‚เบทเป‰เบ™เบเบฑเบšเบžเบฒเบเบ™เบญเบ
    • เปƒเบ™ Linux, เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบฅเบฐเบšเบปเบš libstdc++ เป„เบ”เป‰เบ–เบทเบเบเบงเบ”เบžเบปเบšเป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปเบฅเบฐ, เบ–เป‰เบฒเบกเบฑเบ™เปƒเบซเบกเปˆเบเบงเปˆเบฒ, เบกเบฑเบ™เบˆเบฐเบ–เบทเบเป‚เบซเบฅเบ”. เบžเบถเบ”เบ•เบดเบเบณเบเบฒเบ™เป‚เบซเบผเบ”เปƒเบ™เบ•เบปเบงเบ‚เบญเบ‡ libstdc++ เป€เบเบปเปˆเบฒ, เป‚เบ”เบเบšเปเปˆเบชเบปเบ™เป€เบฅเบทเปˆเบญเบ‡เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš, เบชเบฒเบกเบฒเบ”เบŸเบทเป‰เบ™เบŸเบนเป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก "JULIA_PROBE_LIBSTDCXX=0".
    • เป€เบญเบปเบฒ "RPATH" เบญเบญเบเบˆเบฒเบ julia binary, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ—เปเบฒเบฅเบฒเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปƒเบ™ Linux เบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบ› "RUNPATH".
    • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบท: เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡ "MethodError" เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡เบˆเบฒเบ "methods(my_func)") เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบฎเบนเบšเปเบšเบšเปเบฅเบฐเบชเบตเบ•เบฒเบกเบซเบผเบฑเบเบเบฒเบ™เบ‚เบญเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เปƒเบ™ stack trace.

    เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™