НаличСн Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Julia 1.9

ИзлСзС ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Julia 1.9, ΡΡŠΡ‡Π΅Ρ‚Π°Π²Π°Ρ‰ качСства ΠΊΠ°Ρ‚ΠΎ висока производитСлност, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ въвСТданС ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ инструмСнти Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. Π‘ΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡΡŠΡ‚ Π½Π° Julia Π΅ близък Π΄ΠΎ MATLAB, с някои Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ, заимствани ΠΎΡ‚ Ruby ΠΈ Lisp. ΠœΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ напомня Π½Π° Perl. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сС разпространява ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·Π° Π½Π° MIT.

Основни характСристики Π½Π° Π΅Π·ΠΈΠΊΠ°:

  • Висока производитСлност: Π΅Π΄Π½Π° ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈΡ‚Π΅ Ρ†Π΅Π»ΠΈ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ Π΄Π° сС постигнС производитСлност, Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ C ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅. ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Julia Π΅ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° LLVM ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ собствСн машинСн ΠΊΠΎΠ΄ Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ Ρ†Π΅Π»Π΅Π²ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ;
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Π°Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° прСдоставя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° асинхронСн I/O, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° процСси, рСгистриранС, ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°Π½Π΅ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, Π½Π°Ρ€Π΅Π΄ с Π΄Ρ€ΡƒΠ³ΠΈ Π½Π΅Ρ‰Π°;
  • Π”ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€Π°Π½Π΅: Π•Π·ΠΈΠΊΡŠΡ‚ Π½Π΅ изисква ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΏΠΎ аналогия с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈΡ‚Π΅ Π΅Π·ΠΈΡ†ΠΈ Π·Π° скриптовС. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ;
  • ΠΠ΅Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅;
  • Бинтаксис, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π΅Π½ Π·Π° числСни изчислСния, Π½Π°ΡƒΡ‡Π½ΠΈ изчислСния, систСми Π·Π° машинно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ визуализация Π½Π° Π΄Π°Π½Π½ΠΈ. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ ΠΈ инструмСнти Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° изчислСния.
  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ 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.
    • Π›ΠΈΡ‚Π΅Ρ€Π°Π»ΠΈΡ‚Π΅ с Π΅Π΄ΠΈΠ½ символ Π²Π΅Ρ‡Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΡΡŠΡ‰ΠΈΡ синтаксис ΠΊΠ°Ρ‚ΠΎ Π½ΠΈΠ·ΠΎΠ²ΠΈΡ‚Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΈ; Ρ‚Π΅Π·ΠΈ. ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° прСдставлява Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΈ UTF-8 послСдоватСлности, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Char.
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° спСцификацията Unicode 15.
    • Π’Π»ΠΎΠΆΠ΅Π½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΎΡ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΎΡ‚ Π·Π½Π°Ρ†ΠΈ Π²Π΅Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° Ρ‚ΠΈΠΏΠ°.
    • Нови Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ "getglobal(::Module, ::Symbol[, order])" ΠΈ "setglobal!(::Module, ::Symbol, x[, order])" Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΈ запис ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π² Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ. ΠœΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ getglobal Π²Π΅Ρ‡Π΅ трябва Π΄Π° сС ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π° ΠΏΡ€Π΅Π΄ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° getfield Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ.
  • Π•Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ
    • ΠœΠ°ΠΊΡ€ΠΎΡΡŠΡ‚ "@invoke", въвСдСн във вСрсия 1.7, Π²Π΅Ρ‡Π΅ Π΅ Скспортиран ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. ОсвСн Ρ‚ΠΎΠ²Π° сСга ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° "Core.Typeof(x)", Π° Π½Π΅ "Any", ΠΊΠΎΠ³Π°Ρ‚ΠΎ анотацията Π·Π° Ρ‚ΠΈΠΏΠ° Π΅ пропусната Π·Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° "x". Π’ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅, ΠΏΡ€Π΅Π΄Π°Π²Π°Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ, Π΄Π° сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ.
    • Активирано СкспортиранС Π½Π° функцията "invokelatest" ΠΈ макроса "@invokelatest", въвСдСни във вСрсия 1.7.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π°/Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС
    • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π΄ΠΎ ΠΏΡŠΡ€Π²ΠΎ изпълнСниС (TTFX - Π’Ρ€Π΅ΠΌΠ΅ Π΄ΠΎ ΠΏΡŠΡ€Π²ΠΎ изпълнСниС). ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½Π°Ρ‚Π° компилация Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π²Π΅Ρ‡Π΅ записва родния ΠΊΠΎΠ΄ Π² "pkgimage", ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΊΠΎΠ΄ΡŠΡ‚, Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½Π°Ρ‚Π° компилация, няма Π΄Π° трябва Π΄Π° сС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ, слСд ΠΊΠ°Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ бъдС Π·Π°Ρ€Π΅Π΄Π΅Π½. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π΅ΠΆΠΈΠΌ pkgimages ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΎ с опцията "--pkgimages=no".
    • Π˜Π·Π²Π΅ΡΡ‚Π½ΠΈΡΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½Π°Ρ‚Π° слоТност Π½Π° ΠΈΠ·Π²ΠΎΠ΄Π° Π½Π° Ρ‚ΠΈΠΏΠ° Π΅ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ ΠΈ ΠΊΠ°Ρ‚ΠΎ цяло ΠΈΠ·Π²ΠΎΠ΄ΡŠΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚. Някои ΠΊΡ€Π°ΠΉΠ½ΠΈ случаи с Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ дълги Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΊΠ°Ρ‚ΠΎ ModelingToolkit.jl с частични Π΄ΠΈΡ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ уравнСния ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π½ΠΎ-слСдствСни ΠΌΠΎΠ΄Π΅Π»ΠΈ) сС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ.
    • ΠžΠ±Π°ΠΆΠ΄Π°Π½ΠΈΡΡ‚Π° с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са спСцифични Π·Π° Ρ‚ΠΈΠΏΠ°, Π²Π΅Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π·Π° раздСлянС Π½Π° Union Π·Π° ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ ΠΈΠ»ΠΈ статична Ρ€Π΅Π·ΠΎΠ»ΡŽΡ†ΠΈΡ, Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ ΠΈΠΌΠ° мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΈ Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ производитСлността Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ситуации, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π½Π΅ са напълно статично Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈ, Ρ‡Ρ€Π΅Π· статично Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° сайтовС Π·Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ "@nospecialize-d" ΠΈ избягванС Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅.
    • Всички ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈ Π½Π° макроса @pure Π² ΠΌΠΎΠ΄ΡƒΠ»Π° Base са Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ с Base.@assume_effects.
    • Π˜Π·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡΡ‚Π° Π½Π° invoke(f, invokesig, args...) с Ρ‚ΠΈΠΏΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ спСцифични ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° f(args...) Π²Π΅Ρ‡Π΅ Π½Π΅ причиняват ΠΏΡ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°.
  • ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° командния Ρ€Π΅Π΄
    • Π’ Linux ΠΈ Windows опцията β€ž--threads=autoβ€œ сСга сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈ наличния Π±Ρ€ΠΎΠΉ процСсори въз основа Π½Π° Π°Ρ„ΠΈΠ½ΠΈΡ‚Π΅Ρ‚Π° Π½Π° процСсора, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ маска, която ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС Π·Π°Π΄Π°Π²Π° Π² HPC ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½ΠΈ срСди.
    • ΠžΠΏΡ†ΠΈΡΡ‚Π° "--math-mode=fast" Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π°, вмСсто която сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° макроса "@fastmath", ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ° Π΄ΠΎΠ±Ρ€Π΅ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π° сСмантика.
    • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ΡŠΡ‚ β€ž--threadsβ€œ Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ β€žauto | N[,auto|M]", ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ M ΡƒΠΊΠ°Π·Π²Π° броя Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ нишки Π·Π° създаванС (Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° auto ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° 1).
    • Π”ΠΎΠ±Π°Π²Π΅Π½Π° опция β€ž--heap-size-hint= ”, ΠΊΠΎΠΉΡ‚ΠΎ Π·Π°Π΄Π°Π²Π° ΠΏΡ€Π°Π³Π°, слСд ΠΊΠΎΠΉΡ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π²Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΡ‚ΠΏΠ°Π΄ΡŠΡ†ΠΈ. Π Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π² Π±Π°ΠΉΡ‚ΠΎΠ²Π΅, ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚ΠΈ (1000 KB), ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ΠΈ (300 MB) ΠΈΠ»ΠΈ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ΠΈ (1,5 GB).
  • ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ
    • β€žThreads.@spawnβ€œ Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ° Π½Π΅Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π΅Π½ ΠΏΡŠΡ€Π²ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ със стойност β€ž:defaultβ€œ ΠΈΠ»ΠΈ β€ž:interactiveβ€œ. Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° изисква ΠΌΠ°Π»ΠΊΠΎ забавянС Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π° ΠΈ Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π° Π΄Π° бъдС ΠΊΡ€Π°Ρ‚ΠΊΠ° ΠΈΠ»ΠΈ изпълнявана чСсто. Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‰Π΅ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ нишки, Π°ΠΊΠΎ са посочСни ΠΏΡ€ΠΈ стартиранС Π½Π° Julia.
    • ΠΠΈΡˆΠΊΠΈΡ‚Π΅, стартирани извън срСдата Π·Π° изпълнСниС Π½Π° Julia (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ C ΠΈΠ»ΠΈ Java), Π²Π΅Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ ΠΊΠΎΠ΄ Π½Π° Julia с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° "jl_adopt_thread". Π’ΠΎΠ²Π° сС случва Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠ΄Π° Π½Π° Julia Ρ‡Ρ€Π΅Π· "cfunction" ΠΈΠ»ΠΈ Π²Ρ…ΠΎΠ΄Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° "@ccallable". Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° броят Π½Π° Π½ΠΈΡˆΠΊΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС промСня ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС.
  • Нови Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
    • Нова функция "Iterators.flatmap".
    • Нова функция "pkgversion(m::Module)" Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° вСрсията Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π·Π°Ρ€Π΅Π΄ΠΈΠ» Π΄Π°Π΄Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ», ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° "pkgdir(m::Module)".
    • Нова функция "stack(x)", която ΠΎΠ±ΠΎΠ±Ρ‰Π°Π²Π° "reduce(hcat, x::Vector{<:Vector})" Π΄ΠΎ всяко ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΈ позволява всСки ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΡ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ. ΠœΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ "stack(f, x)" ΠΎΠ±ΠΎΠ±Ρ‰Π°Π²Π° "mapreduce(f, hcat, x)" ΠΈ Π΅ ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½.
    • Нов макрос Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΏΠ°ΠΌΠ΅Ρ‚ "@allocations", ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° "@allocated", с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ Π²Ρ€ΡŠΡ‰Π° броя Π½Π° разпрСдСлСнията Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Π° Π½Π΅ общия Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΏΠ°ΠΌΠ΅Ρ‚.
  • Нови Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°
    • β€žRoundFromZeroβ€œ Π²Π΅Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π·Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ β€žBigFloatβ€œ.
    • β€žDictβ€œ Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π°ΠΌΠ°Π»Π΅Π½ Ρ€ΡŠΡ‡Π½ΠΎ с β€žsizehint!β€œ.
    • β€ž@timeβ€œ Π²Π΅Ρ‡Π΅ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π°Π½ΠΎ Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ.
  • ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°
    • ΠšΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с паралСлността Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° итСрация Π·Π° Dict ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ (::Dict), стойности (::Dict) ΠΈ Set. Π’Π΅Π·ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π²Π΅Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π²ΠΈΠΊΠ°Π½ΠΈ Π½Π° Dict ΠΈΠ»ΠΈ Set ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ Π½Π° Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π±Ρ€ΠΎΠΉ нишки, стига Π΄Π° няма дСйствия, ΠΊΠΎΠΈΡ‚ΠΎ промСнят Ρ€Π΅Ρ‡Π½ΠΈΠΊΠ° ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€Π°.
    • ΠžΡ‚Ρ€ΠΈΡ‡Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½Π°Ρ‚Π° функция "!f" сСга Π²Ρ€ΡŠΡ‰Π° ΡΡŠΡΡ‚Π°Π²Π½Π° функция "(!) ∘ f" вмСсто Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π° функция.
    • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π·Π° срСзовС Π½Π° измСрСния Π²Π΅Ρ‡Π΅ работят Π² мноТСство измСрСния: "eachslice", "eachrow" ΠΈ "eachcol" Π²Ρ€ΡŠΡ‰Π°Ρ‚ ΠΎΠ±Π΅ΠΊΡ‚ "Slices", ΠΊΠΎΠΉΡ‚ΠΎ позволява ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ Π΄Π° прСдоставя ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ.
    • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ макрос "@kwdef" към публичния API.
    • ΠšΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ€Π΅Π΄Π° Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π² "fld1".
    • Π‘ΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π²Π΅Ρ‡Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ стабилно във Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ (ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Π½ QuickSort).
    • β€žBase.splatβ€œ Π²Π΅Ρ‡Π΅ Π΅ Скспортиран. Π’ΡŠΡ€Π½Π°Ρ‚Π°Ρ‚Π° стойност Π΅ ΠΎΡ‚ Ρ‚ΠΈΠΏ "Base.Splat", Π° Π½Π΅ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π° функция, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π΄Π° бъдС Π΄ΠΎΠ±Ρ€Π΅ ΠΈΠ·Π²Π΅Π΄Π΅Π½Π°.
  • ΠœΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ
    • β€žΠ Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈβ€œ: ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ΠΎΠ² Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, Π·Π°Ρ€Π΅Π΄Π΅Π½ΠΈ Π² сСсия Π½Π° Julia. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° "Requires.jl", Π½ΠΎ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½Π° компилация ΠΈ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ Π½Π° конфигурацията.
  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° LinearAlgebra
    • ΠŸΠΎΡ€Π°Π΄ΠΈ риск ΠΎΡ‚ ΠΎΠ±ΡŠΡ€ΠΊΠ²Π°Π½Π΅ с ΠΏΠΎΠ΅Π»Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎ раздСлянС, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ "a / b" ΠΈ "b \ a" със скалар "a" ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ "b" бяха ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ бяха Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΈ Π½Π° "a * pinv(b)".
    • BLAS ΠΈ LAPACK повикванията Π²Π΅Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ "libblastrampoline (LBT)". OpenBLAS сС прСдоставя ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, Π½ΠΎ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° систСмно ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с Π΄Ρ€ΡƒΠ³ΠΈ BLAS/LAPACK Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°. ВмСсто Ρ‚ΠΎΠ²Π° сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° LBT, Π·Π° Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ BLAS/LAPACK с Π΄Ρ€ΡƒΠ³ Π½Π°Π»ΠΈΡ‡Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.
    • "lu" ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π½ΠΎΠ²Π° стратСгия Π·Π° ротация Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°Ρ‚Π° "RowNonZero()", която ΠΈΠ·Π±ΠΈΡ€Π° ΠΏΡŠΡ€Π²ΠΈΡ Π½Π΅Π½ΡƒΠ»Π΅Π² Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ с Π½ΠΎΠ²ΠΈΡ‚Π΅ Π°Ρ€ΠΈΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‡Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ ΠΈ Π·Π° ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΈ Ρ†Π΅Π»ΠΈ.
    • "normalize(x, p=2)" Π²Π΅Ρ‡Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° всяко Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎ пространство "x", Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ скалари.
    • Броят ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° BLAS Π½ΠΈΡˆΠΊΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ Π΅ Ρ€Π°Π²Π΅Π½ Π½Π° броя Π½Π° CPU Π½ΠΈΡˆΠΊΠΈΡ‚Π΅ Π½Π° ARM Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°Ρ‚Π° ΠΎΡ‚ броя Π½Π° CPU Π½ΠΈΡˆΠΊΠΈΡ‚Π΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ.
  • Printf: ΠŸΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠ° Π·Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½ΠΈ Π½ΠΈΠ·ΠΎΠ²Π΅ Π·Π° ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π° чСтливост.
  • ΠŸΡ€ΠΎΡ„ΠΈΠ»: Нова функция β€žProfile.take_heap_snapshot(file)β€œ, която улавя Ρ„Π°ΠΉΠ» Π² Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° JSON Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ β€ž.heapsnapshotβ€œ, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ ΠΎΡ‚ Chrome.
  • Π‘Π»ΡƒΡ‡Π°Π΅Π½: randn ΠΈ randexp Π²Π΅Ρ‡Π΅ работят Π·Π° всСки Ρ‚ΠΈΠΏ AbstractFloat, ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° rand.
  • ΠžΠ’Π“ΠžΠ’ΠžΠ Π˜
    • НатисканСто Π½Π° ΠΊΠ»Π°Π²ΠΈΡˆΠ½Π°Ρ‚Π° комбинация "Alt-e" Π²Π΅Ρ‡Π΅ отваря тСкущия Π²Ρ…ΠΎΠ΄ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. Π‘ΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ (Π°ΠΊΠΎ Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΎ) Ρ‰Π΅ бъдС изпълнСно, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΡŠΡ‚ ΠΈΠ·Π»Π΅Π·Π΅.
    • ВСкущият ΠΌΠΎΠ΄ΡƒΠ»Π΅Π½ контСкст, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Π² REPL, ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ (ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ Main) с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° функцията "REPL.activate(::Module)" ΠΈΠ»ΠΈ Ρ‡Ρ€Π΅Π· въвСТданС Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π° Π² REPL ΠΈ натисканС Π½Π° клавиша "Alt-m" комбинация.
    • Π Π΅ΠΆΠΈΠΌΡŠΡ‚ "Π½ΠΎΠΌΠ΅Ρ€ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄ΠΊΠ°Π½Π°", ΠΊΠΎΠΉΡ‚ΠΎ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚Π²Π° числа Π·Π° всСки Π²Ρ…ΠΎΠ΄ ΠΈ ΠΈΠ·Ρ…ΠΎΠ΄ ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΠΎΡ†Π΅Π½Π΅Π½ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ Π² Out, ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° с "REPL.numbered_prompt!()".
    • Π”ΠΎΠ²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° табулация ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈ Π΄ΡƒΠΌΠΈ.
  • SuiteSparse: ΠŸΡ€Π΅ΠΌΠ΅ΡΡ‚Π΅Π½ ΠΊΠΎΠ΄ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° β€žSuiteSparseβ€œ Π² β€žSparseArrays.jlβ€œ. Π Π΅ΡˆΠ°Π²Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ сС рССкспортират ΠΎΡ‚ "SuiteSparse.jl".
  • Π Π°Π·Ρ€Π΅Π΄Π΅Π½ΠΈ масиви
    • Π Π΅ΡˆΠ°Π²Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° SuiteSparse Π²Π΅Ρ‡Π΅ са Π½Π°Π»ΠΈΡ‡Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° SparseArrays.
    • Π Π΅ΠΆΠΈΠΌΠΈΡ‚Π΅ Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° UMFPACK ΠΈ CHOLMOD са ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈ Ρ‡Ρ€Π΅Π· Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠΈ. Многонишков "ldiv!" ΠžΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ UMFPACK Π²Π΅Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ бСзопасно.
    • ЕкспСримСнталната функция "SparseArrays.allowscalar(::Bool)" Π²ΠΈ позволява Π΄Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ скаларно индСксиранС Π½Π° Ρ€Π΅Π΄ΠΊΠΈ масиви. Π’Π°Π·ΠΈ функция Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π° Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ скаларно индСксиранС Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ "SparseMatrixCSC", ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ чСсто срСщан ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с производитСлността.
  • Нов Ρ€Π΅ΠΆΠΈΠΌ Π·Π° прСодоляванС ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΠ°Π· Π·Π° тСстови ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ прСкратява тСстовото изпълнСниС ΠΏΠΎ-Ρ€Π°Π½ΠΎ Π² случай Π½Π° ΠΏΠΎΠ²Ρ€Π΅Π΄Π° ΠΈΠ»ΠΈ Π³Ρ€Π΅ΡˆΠΊΠ°. Π—Π°Π΄Π°ΠΉΡ‚Π΅ ΠΈΠ»ΠΈ Ρ‡Ρ€Π΅Π· "@testset kwarg failfast=true" ΠΈΠ»ΠΈ "export 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)" Π²Ρ€ΡŠΡ‰Π° ΠΏΠΎΠ΄Π½ΠΈΠ·Π° ΠΎΡ‚ m-Ρ‚Π° Π΄ΠΎ n-Ρ‚Π° Π³Ρ€Π°Ρ„Π΅ΠΌΠ° Π² "s".
  • ΠŸΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ DelimitedFiles Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ ΠΎΡ‚ систСмнитС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ сСга сС разпространява ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ трябва Π΄Π° бъдС ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ инсталиран, Π·Π° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°.
  • Π’ΡŠΠ½ΡˆΠ½ΠΈ зависимости
    • Linux Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π° вСрсията Π½Π° систСмната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° libstdc++ ΠΈ я Π·Π°Ρ€Π΅ΠΆΠ΄Π°, Π°ΠΊΠΎ Π΅ ΠΏΠΎ-Π½ΠΎΠ²Π°. Π‘Ρ‚Π°Ρ€ΠΎΡ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° вградСния libstdc++ нСзависимо ΠΎΡ‚ вСрсията Π½Π° систСмата ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²Π΅Π½ΠΎ Ρ‡Ρ€Π΅Π· Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° Π½Π° срСдата "JULIA_PROBE_LIBSTDCXX=0".
    • ΠŸΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΎ Π΅ β€žRPATHβ€œ ΠΎΡ‚ двоичния Ρ„Π°ΠΉΠ» Π½Π° julia, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° Linux, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ успяват Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° β€žRUNPATHβ€œ.
    • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΡ Π½Π° инструмСнта: Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ ΠΎΡ‚ β€žMethodErrorβ€œ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ β€žmethods(my_func)β€œ) Π²Π΅Ρ‡Π΅ Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½ ΠΈ ΠΎΡ†Π²Π΅Ρ‚Π΅Π½ спорСд Π½Π°Ρ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ сС ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ‚ Π² прослСдяванията Π½Π° стСка.

    Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€