рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдЬреНрдпреБрд▓рд┐рдпрд╛ 1.9 рдЙрдкрд▓рдмреНрдз

рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛, рдбрд╛рдпрдиреЕрдорд┐рдХ рдЯрд╛рдпрдкрд┐рдВрдЧрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЖрдгрд┐ рд╕рдорд╛рдВрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрд╕рд╛рдареА рдЕрдВрдЧрднреВрдд рд╕рд╛рдзрдиреЗ рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдЧреБрдгрд╛рдВрдЪреА рдЬреЛрдб рджреЗрдКрди рдЬреНрдпреБрд▓рд┐рдпрд╛ 1.9 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖реЗрдЪреЗ рдкреНрд░рдХрд╛рд╢рди рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рдЬреНрдпреБрд▓рд┐рдпрд╛рдЪреА рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ MATLAB рдЪреНрдпрд╛ рдЬрд╡рд│ рдЖрд╣реЗ, рд░реБрдмреА рдЖрдгрд┐ рд▓рд┐рд╕реНрдкрдХрдбреВрди рдХрд╛рд╣реА рдШрдЯрдХ рдШреЗрддрд▓реЗ рдЖрд╣реЗрдд. рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЕрдирд┐рдкреБрд▓реЗрд╢рди рдкрджреНрдзрдд рдкрд░реНрд▓рдЪреА рдЖрдард╡рдг рдХрд░реВрди рджреЗрдгрд╛рд░реА рдЖрд╣реЗ. рдкреНрд░рдХрд▓реНрдк рдХреЛрдб рдПрдордЖрдпрдЯреА рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

рднрд╛рд╖реЗрдЪреА рдореБрдЦреНрдп рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ:

  • рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди: рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдореБрдЦреНрдп рдЙрджреНрджрд┐рд╖реНрдЯрд╛рдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгрдЬреЗ C рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕рдЪреНрдпрд╛ рдЬрд╡рд│ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ. рдЬреНрдпреБрд▓рд┐рдпрд╛ рдХрдВрдкрд╛рдЗрд▓рд░ LLVM рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдХрд╛рдорд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ рдЕрдиреЗрдХ рд▓рдХреНрд╖реНрдп рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рдХрд╛рд░реНрдпрдХреНрд╖рдо рдиреЗрдЯрд┐рд╡реНрд╣ рдорд╢реАрди рдХреЛрдб рддрдпрд╛рд░ рдХрд░рддреЛ;
  • рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдЖрдгрд┐ рдлрдВрдХреНрд╢рдирд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрдЪреНрдпрд╛ рдШрдЯрдХрд╛рдВрд╕рд╣ рд╡рд┐рд╡рд┐рдз рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреЕрд░рд╛рдбрд╛рдЗрдореНрд╕рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ. рд╕реНрдЯрдБрдбрд░реНрдб рд▓рд╛рдпрдмреНрд░рд░реА рдЗрддрд░ рдЧреЛрд╖реНрдЯреАрдВрдмрд░реЛрдмрд░рдЪ, рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ I/O, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рдпрдВрддреНрд░рдг, рд▓реЙрдЧрд┐рдВрдЧ, рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрдореЗрдВрдЯрд╕рд╛рдареА рдХрд╛рд░реНрдпреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЗ;
  • рдбрд╛рдпрдиреЕрдорд┐рдХ рдЯрд╛рдпрдкрд┐рдВрдЧ: рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдкреНрд░рдорд╛рдгреЗрдЪ рднрд╛рд╖реЗрд▓рд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪреНрдпрд╛ рдкреНрд░рдХрд╛рд░рд╛рдВрдЪреА рд╕реНрдкрд╖реНрдЯ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╕рддреЗ. рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдореЛрдб рд╕рдорд░реНрдерд┐рдд;
  • рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреНрд╖рдорддрд╛;
  • рдЕрдВрдХреАрдп рд╕рдВрдЧрдгрди, рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд╕рдВрдЧрдгрди, рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдЖрдгрд┐ рдбреЗрдЯрд╛ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓рд╛рдпрдЭреЗрд╢рдирд╕рд╛рдареА рдПрдХ рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдЖрджрд░реНрд╢. рдЧрдгрдиреЗрдЪреНрдпрд╛ рд╕рдорд╛рдВрддрд░реАрдХрд░рдгрд╛рд╕рд╛рдареА рдЕрдиреЗрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдЖрдгрд┐ рд╕рд╛рдзрдирд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди.
  • рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрддрд░рд╛рдВрд╢рд┐рд╡рд╛рдп C рд▓рд╛рдпрдмреНрд░рд░реАрдордзреВрди рдлрдВрдХреНрд╢рдиреНрд╕ рдереЗрдЯ рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛.

рдЬреНрдпреБрд▓рд┐рдпрд╛ рез.реп рдордзреАрд▓ рдкреНрд░рдореБрдЦ рдмрджрд▓:

  • рдирд╡реАрди рднрд╛рд╖рд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ
    • "setproperty!(::Module, ::Symbol, x)" рд╡рд╛рдкрд░реВрди рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯреНрд╕ рджреБрд╕рд░реНтАНрдпрд╛ рдореЙрдбреНрдпреВрд▓рдордзреНрдпреЗ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреНрдпрд╛.
    • рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддреАрдд рдирд╕рд▓реЗрд▓реНрдпрд╛ рдПрдХрд╛рдзрд┐рдХ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯрд▓рд╛ рдкрд░рд╡рд╛рдирдЧреА рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, тАЬa, bтАж, c = 1, 2, 3, 4тАЭ рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧрд╡рд░ тАЬa = 1тАЭ рдореНрд╣рдгреВрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рдИрд▓; bтАж, = 2, 3; c = 4" рд╣реЗ Base.split_rest рджреНрд╡рд╛рд░реЗ рд╣рд╛рддрд╛рд│рд▓реЗ рдЬрд╛рддреЗ.
    • рд╕рд┐рдВрдЧрд▓ рдХреЕрд░реЗрдХреНрдЯрд░ рд▓рд┐рдЯрд░рд▓реНрд╕ рдЖрддрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд┐рдЯрд░рд▓реНрд╕рдЪреНрдпрд╛ рд╕рдорд╛рди рд╡рд╛рдХреНрдпрд░рдЪрдирд╛рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддрд╛рдд; рддреНрдпрд╛ рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░рд╛рдиреЗ рдкрд░рд╡рд╛рдирдЧреА рджрд┐рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдЕрд╡реИрдз UTF-8 рдЕрдиреБрдХреНрд░рдорд╛рдВрдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░реВ рд╢рдХрддреЗ.
    • рдпреБрдирд┐рдХреЛрдб 15 рддрдкрд╢реАрд▓рд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
    • рдЯреНрдпреБрдкрд▓реНрд╕ рдЖрдгрд┐ рдирд╛рдорд╛рдВрдХрд┐рдд рдХреЕрд░реЗрдХреНрдЯрд░ рдЯреНрдпреБрдкрд▓реНрд╕рдЪреЗ рдиреЗрд╕реНрдЯреЗрдб рдХреЙрдореНрдмрд┐рдиреЗрд╢рди рдЖрддрд╛ рдЯрд╛рдЗрдк рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд.
    • рдирд╡реАрди рдмрд┐рд▓реНрдЯ-рдЗрди рдлрдВрдХреНрд╢рдиреНрд╕ "getglobal(::Module, ::Symbol[, order])" рдЖрдгрд┐ "setglobal!(::Module, ::Symbol, x[, order])" рдХреЗрд╡рд│ рдЧреНрд▓реЛрдмрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА. рдЧреНрд▓реЛрдмрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЧреЗрдЯрдлрд┐рд▓реНрдб рдкрджреНрдзрддреАрдкреЗрдХреНрд╖рд╛ рдЖрддрд╛ рдЧреЗрдЯрдЧреНрд▓реЛрдмрд▓ рдкрджреНрдзрддреАрд▓рд╛ рдкреНрд░рд╛рдзрд╛рдиреНрдп рджрд┐рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.
  • рднрд╛рд╖реЗрддреАрд▓ рдмрджрд▓
    • рдЖрд╡реГрддреНрддреА рез.рен рдордзреНрдпреЗ рд╕рд╛рджрд░ рдХреЗрд▓реЗрд▓рд╛ "@invoke" рдореЕрдХреНрд░реЛ рдЖрддрд╛ рдирд┐рд░реНрдпрд╛рдд рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рддреЗ рдЖрддрд╛ "x" рдпреБрдХреНрддрд┐рд╡рд╛рджрд╛рд╕рд╛рдареА рдЯрд╛рдЗрдк рднрд╛рд╖реНрдп рд╡рдЧрд│рд▓реЗ рдЖрд╣реЗ рдЕрд╢рд╛ рдмрд╛рдмрддреАрдд "рдХреЛрдгрддреЗрд╣реА" рдРрд╡рдЬреА "Core.Typeof(x)" рдкрджреНрдзрдд рд╡рд╛рдкрд░рддреЗ. рдпреБрдХреНрддрд┐рд╡рд╛рдж рдореНрд╣рдгреВрди рдкрд╛рд╕ рдХреЗрд▓реЗрд▓реЗ рдкреНрд░рдХрд╛рд░ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рддрд╛рдд рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
    • рдЖрд╡реГрддреНрддреА 1.7 рдордзреНрдпреЗ рд╕рд╛рджрд░ рдХреЗрд▓реЗрд▓реЗ тАЬрдЗрдирд╡реНрд╣реЛрдХрд▓реЗрдЯреЗрд╕реНрдЯтАЭ рдлрдВрдХреНрд╢рди рдЖрдгрд┐ тАЬ@invokelatestтАЭ рдореЕрдХреНрд░реЛрдЪреА рдирд┐рд░реНрдпрд╛рдд рд╕рдХреНрд╖рдо рдХреЗрд▓реА.
  • рдХрдВрдкрд╛рдЗрд▓рд░/рд░рдирдЯрд╛рдЗрдо рд╕реБрдзрд╛рд░рдгрд╛
    • рдкреНрд░рдердо рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рд╡реЗрд│ рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рдХрдореА рдХреЗрд▓рд╛ (TTFX - рдкреНрд░рдердо рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рд╡реЗрд│). рд╕рдВрдХреБрд▓ рдкреНрд░реАрдХрдВрдкрд╛рдЗрд▓ рдХреЗрд▓реНрдпрд╛рдиреЗ рдЖрддрд╛ рдореВрд│ рдХреЛрдб "pkgimage" рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдореНрд╣рдгрдЬреЗ рдкреНрд░реАрдХрдВрдкрд╛рдЗрд▓реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпреЗрджреНрд╡рд╛рд░реЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓рд╛ рдХреЛрдб рдкреЕрдХреЗрдЬ рд▓реЛрдб рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдкреБрдиреНрд╣рд╛ рдХрдВрдкрд╛рдЗрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. pkgimages рдореЛрдбрдЪрд╛ рд╡рд╛рдкрд░ "--pkgimages=no" рдкрд░реНрдпрд╛рдп рд╡рд╛рдкрд░реВрди рдЕрдХреНрд╖рдо рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.
    • рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдорд╛рдирд╛рдЪреА рдЬреНрдЮрд╛рдд рдЪрддреБрд░реНрднреБрдЬ рдЬрдЯрд┐рд▓рддрд╛ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рдЕрдиреБрдорд╛рди рдПрдХрдВрджрд░ рдХрдореА рдореЗрдорд░реА рд╡рд╛рдкрд░рддреЗ. рдЖрдкреЛрдЖрдк рд╡реНрдпреБрддреНрдкрдиреНрди рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рд▓рд╛рдВрдм рдлрдВрдХреНрд╢рдиреНрд╕рд╕рд╣ рдХрд╛рд╣реА рдПрдЬ рдХреЗрд╕реЗрд╕ (рдЬрд╕реЗ рдХреА рдЖрдВрд╢рд┐рдХ рднрд┐рдиреНрди рд╕рдореАрдХрд░рдгреЗ рдЖрдгрд┐ рдореЛрдареНрдпрд╛ рдХрд╛рд░реНрдпрдХрд╛рд░рдг рдореЙрдбреЗрд▓рд╕рд╣ ModelingToolkit.jl) рдЕрдзрд┐рдХ рдЬрд▓рдж рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛рдд.
    • рдХреЙрдВрдХреНрд░рд┐рдЯ рдкреНрд░рдХрд╛рд░рд╛рдВрд╢рд┐рд╡рд╛рдп рд╡рд┐рддрд░реНрдХрд╛рдВрд╕рд╣ рдХреЙрд▓ рдЖрддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд┐рдВрд╡рд╛ рд╕реНрдЯреЕрдЯрд┐рдХ рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рдирд╕рд╛рдареА рдпреБрдирд┐рдпрди-рд╕реНрдкреНрд▓рд┐рдЯрд┐рдВрдЧ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдЬрд░реА рдбрд┐рд╕реНрдкреЕрдЪрд╕рд╛рдареА рдЕрдиреЗрдХ рднрд┐рдиреНрди-рдкреНрд░рдХрд╛рд░рдЪреЗ рдЙрдореЗрджрд╡рд╛рд░ рдЕрд╕рд▓реЗ рддрд░реАрд╣реА. "@nospecialize-d" рдХреЙрд▓ рд╕рд╛рдЗрдЯреНрд╕рдЪреЗ рд╕реНрдЯреЕрдЯрд┐рдХрд▓реА рдирд┐рд░рд╛рдХрд░рдг рдХрд░реВрди рдЖрдгрд┐ рдкреБрдирд░реНрд╕рдВрдХрд▓рди рдЯрд╛рд│реВрди, рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░ рдкреВрд░реНрдгрдкрдгреЗ рд╕реНрдерд┐рд░рдкрдгреЗ рдирд┐рд░рд╛рдХрд░рдг рди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрдордзреНрдпреЗ рд╣реЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░реВ рд╢рдХрддреЗ.
    • рдмреЗрд╕ рдореЙрдбреНрдпреБрд▓рдордзреАрд▓ @pure рдореЕрдХреНрд░реЛрдЪреЗ рд╕рд░реНрд╡ рд╡рд╛рдкрд░ Base.@assume_effects рдиреЗ рдмрджрд▓рд▓реЗ рдЖрд╣реЗрдд.
    • рд╕рд╛рдорд╛рдиреНрдпрдд: f(args...) рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдХрдореА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░рд╛рдВрд╕рд╣ invoke(f, invokesig, args...) рдХреЙрд▓реНрд╕ рдпрд╛рдкреБрдвреЗ рдкреЕрдХреЗрдЬ рдкреБрдиреНрд╣рд╛ рдХрдВрдкрд╛рдЗрд▓ рдХреЗрд▓реЗ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реАрдд.
  • рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░реНрдпрд╛рдпрд╛рдВрдордзреНрдпреЗ рдмрджрд▓
    • Linux рдЖрдгрд┐ Windows рд╡рд░, "-threads=auto" рдкрд░реНрдпрд╛рдп рдЖрддрд╛ CPU рдЕтАНреЕрдлрд┐рдирд┐рдЯреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрд╕реЗрд╕рд░рдЪреА рдЙрдкрд▓рдмреНрдз рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ, рд╣рд╛ рдореБрдЦрд╡рдЯрд╛ рд╕рд╛рдорд╛рдиреНрдпрдд: HPC рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рд╕реЗрдЯ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.
    • тАЬ--math-mode=fastтАЭ рдкреЕрд░рд╛рдореАрдЯрд░ рдЕрдХреНрд╖рдо рдХреЗрд▓реЗ рдЖрд╣реЗ, рддреНрдпрд╛рдРрд╡рдЬреА рд╢рдмреНрджрд╛рд░реНрде рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ тАЬ@fastmathтАЭ рдореЕрдХреНрд░реЛ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА рдЬрд╛рддреЗ.
    • "--рдереНрд░реЗрдбреНрд╕" рдкрд░реНрдпрд╛рдп рдЖрддрд╛ "рдСрдЯреЛ |" рд╕реНрд╡рд░реВрдкрд╛рдд рдЖрд╣реЗ N[,auto|M]", рдЬрд┐рдереЗ M рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдереНрд░реЗрдбреНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ (рд╕рдзреНрдпрд╛ рд╕реНрд╡рдпрдВ рдореНрд╣рдгрдЬреЗ 1).
    • рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛ тАЬтАФрдвреАрдЧ-рдЖрдХрд╛рд░-рдЗрд╢рд╛рд░рд╛=тАЭ ", рдЬреЗ рдереНрд░реЗрд╢реЛрд▓реНрдб рд╕реЗрдЯ рдХрд░рддреЗ рдЬреНрдпрд╛рдирдВрддрд░ рд╕рдХреНрд░рд┐рдп рдХрдЪрд░рд╛ рд╕рдВрдХрд▓рди рд╕реБрд░реВ рд╣реЛрддреЗ. рдЖрдХрд╛рд░ рдмрд╛рдЗрдЯреНрд╕, рдХрд┐рд▓реЛрдмрд╛рдЗрдЯреНрд╕ (1000 KB), рдореЗрдЧрд╛рдмрд╛рдЗрдЯреНрд╕ (300 MB), рдХрд┐рдВрд╡рд╛ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯреНрд╕ (1,5 GB) рдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.
  • рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧрдордзреНрдпреЗ рдмрджрд▓
    • "Thread.@spawn" рдордзреНрдпреЗ рдЖрддрд╛ ":default" рдХрд┐рдВрд╡рд╛ ":interactive" рдпрд╛ рдореВрд▓реНрдпрд╛рд╕рд╣ рдкрд░реНрдпрд╛рдпреА рдкрд╣рд┐рд▓рд╛ рдпреБрдХреНрддрд┐рд╡рд╛рдж рдЖрд╣реЗ. рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдХрд╛рд░реНрдпрд╛рд╕рд╛рдареА рдХрдореА рдкреНрд░рддрд┐рд╕рд╛рдж рд╡рд┐рд▓рдВрдм рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рд▓рд╣рд╛рди рдХрд┐рдВрд╡рд╛ рд╡рд╛рд░рдВрд╡рд╛рд░ рдкрд╛рд░ рдкрд╛рдбрдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ. рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡реНрд╣ рдЯрд╛рд╕реНрдХ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡реНрд╣ рдереНрд░реЗрдбрд╡рд░ рдЪрд╛рд▓рддреАрд▓ рдЬрд░ рддреЗ рдЬреБрд▓рд┐рдпрд╛ рд╕реБрд░реВ рдХрд░рддрд╛рдирд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЕрд╕рддреАрд▓.
    • рдЬреНрдпреБрд▓рд┐рдпрд╛ рд░рдирдЯрд╛рдЗрдордЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдЪрд╛рд▓рдгрд╛рд░реЗ рдереНрд░реЗрдб (рдЬрд╕реЗ рдХреА C рдХрд┐рдВрд╡рд╛ Java) рдЖрддрд╛ "jl_adopt_thread" рд╡рд╛рдкрд░реВрди рдЬреНрдпреБрд▓рд┐рдпрд╛ рдХреЛрдб рдХреЙрд▓ рдХрд░реВ рд╢рдХрддрд╛рдд. рдЬреНрдпреБрд▓рд┐рдпрд╛ рдХреЛрдб "cfunction" рдХрд┐рдВрд╡рд╛ "@ccallable" рдПрдВрдЯреНрд░реА рдкреЙрдЗрдВрдЯрджреНрд╡рд╛рд░реЗ рдПрдВрдЯрд░ рдХрд░рддрд╛рдирд╛ рд╣реЗ рдЖрдкреЛрдЖрдк рд╣реЛрддреЗ. рдкрд░рд┐рдгрд╛рдореА, рдереНрд░реЗрдбреНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛ рдЖрддрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рджрд░рдореНрдпрд╛рди рдмрджрд▓реВ рд╢рдХрддреЗ.
  • рдирд╡реАрди рд▓рд╛рдпрдмреНрд░рд░реА рдХрд╛рд░реНрдпреЗ
    • рдирд╡реАрди рдлрдВрдХреНрд╢рди "Iterators.flatmap".
    • "pkgdir(m::Module)" рдкреНрд░рдорд╛рдгреЗрдЪ рджрд┐рд▓реЗрд▓реЗ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреЕрдХреЗрдЬрдЪреА рдЖрд╡реГрддреНрддреА рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рдлрдВрдХреНрд╢рди "pkgversion(m::Module)".
    • рдирд╡реАрди рдлрдВрдХреНрд╢рди "stack(x)" рдЬреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкрд░рд┐рдорд╛рдгрд╛рдд "reduce(hcat, x::Vector{<:Vector})" рдЪреЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХрд░рддреЗ рдЖрдгрд┐ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреБрдирд░рд╛рд╡реГрддреНрддреАрд▓рд╛ рдЕрдиреБрдорддреА рджреЗрддреЗ. "рд╕реНрдЯреЕрдХ(f, x)" рдкрджреНрдзрдд "mapreduce(f, hcat, x)" рдЪреЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХрд░рддреЗ рдЖрдгрд┐ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрд╣реЗ.
    • рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЗрдорд░реА "@allocations" рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рдореЕрдХреНрд░реЛ, "@allocated" рдкреНрд░рдорд╛рдгреЗрдЪ, рддреЗ рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЗрдорд░реАрдЪреНрдпрд╛ рдПрдХреВрдг рдЖрдХрд╛рд░рд╛рдРрд╡рдЬреА рдореЗрдорд░реА рд╡рд╛рдЯрдкрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдкрд░рдд рдХрд░рддреЗ.
  • рдирд╡реАрди рд▓рд╛рдпрдмреНрд░рд░реА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ
    • "RoundFromZero" рдЖрддрд╛ "BigFloat" рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд рдЗрддрд░ рдкреНрд░рдХрд╛рд░рд╛рдВрд╕рд╛рдареА рдХрд╛рд░реНрдп рдХрд░рддреЗ.
    • "Dict" рдЖрддрд╛ "sizehint!" рд╡рд╛рдкрд░реВрди рд╡реНрдпрдХреНрддрд┐рдЪрд▓рд┐рддрдкрдгреЗ рдХрдореА рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ!
    • "@time" рдЖрддрд╛ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдЕрд╡реИрдз рдкрджреНрдзрддреА рдкреБрдиреНрд╣рд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдд рдШрд╛рд▓рд╡рд▓реЗрд▓реНрдпрд╛ рд╡реЗрд│реЗрдЪреА рдЯрдХреНрдХреЗрд╡рд╛рд░реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ.
  • рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рдмрджрд▓
    • Dict рдЖрдгрд┐ рдЗрддрд░ рд╡реНрдпреБрддреНрдкрдиреНрди рд╡рд╕реНрддреВ рдЬрд╕реЗ рдХреА рдХреА(::Dict), рдореВрд▓реНрдпреЗ(::Dict) рдЖрдгрд┐ рд╕реЗрдЯ рд╕рд╛рдареА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдкрджреНрдзрддреАрдВрдордзреНрдпреЗ рд╕рдорд╡рд░реНрддреА рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХреЗрд▓реЗ. рдпрд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдкрджреНрдзрддреАрдВрдирд╛ рдЖрддрд╛ рдбрд┐рдХреНрдЯ рдХрд┐рдВрд╡рд╛ рд╕реЗрдЯрд╡рд░ рдЕрдорд░реНрдпрд╛рджрд┐рдд рдереНрд░реЗрдбреНрд╕рд╕рд╛рдареА рд╕рдорд╛рдВрддрд░ рдХреЙрд▓ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдЬреЛрдкрд░реНрдпрдВрдд рд╢рдмреНрджрдХреЛрд╖ рдХрд┐рдВрд╡рд╛ рд╕реЗрдЯрдордзреНрдпреЗ рдмрджрд▓ рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдХреНрд░рд┐рдпрд╛ рдирд╛рд╣реАрдд.
    • predicate рдлрдВрдХреНрд╢рди "!f" рдирд╛рдХрд╛рд░рд▓реНрдпрд╛рдиреЗ рдЖрддрд╛ рдЕрдирд╛рдорд┐рдХ рдлрдВрдХреНрд╢рди рдРрд╡рдЬреА рдПрдХ рд╕рдВрдпреБрдХреНрдд рдлрдВрдХреНрд╢рди "(!) тИШ f" рдорд┐рд│рддреЗ.
    • рдбрд╛рдпрдореЗрдВрд╢рди рд╕реНрд▓рд╛рдЗрд╕ рдлрдВрдХреНрд╢рдиреНрд╕ рдЖрддрд╛ рдЕрдиреЗрдХ рдЖрдпрд╛рдорд╛рдВрд╡рд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд: "eachslice", "eachrow" рдЖрдгрд┐ "eachcol" рдПрдХ "рд╕реНрд▓рд╛рдЗрд╕" рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░рдд рдХрд░рддрд╛рдд рдЬреЗ рдбрд┐рд╕реНрдкреЕрдЪрд┐рдВрдЧрд▓рд╛ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдкрджреНрдзрддреА рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддрд╛рдд.
    • рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ API рдордзреНрдпреЗ "@kwdef" рдореЕрдХреНрд░реЛ рдЬреЛрдбрд▓реЗ.
    • "fld1" рдордзреНрдпреЗ рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рдХреНрд░рдорд╛рд╕рд╣ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реА.
    • рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рдгреЗ рдЖрддрд╛ рдиреЗрд╣рдореАрдЪ рд╡реЗрд│-рд╕реНрдерд┐рд░ рдЕрд╕рддреЗ (рдХреНрд╡рд┐рдХрд╕реЙрд░реНрдЯ рдкреБрдиреНрд╣рд╛ рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ).
    • "Base.splat" рдЖрддрд╛ рдирд┐рд░реНрдпрд╛рдд рдХреЗрд▓реЗ рдЖрд╣реЗ. рд░рд┐рдЯрд░реНрди рд╡реНрд╣реЕрд▓реНрдпреВ рд╣реЗ рдирд┐рдирд╛рд╡реА рдлрдВрдХреНрд╢рди рдРрд╡рдЬреА "Base.Splat" рдкреНрд░рдХрд╛рд░ рдЖрд╣реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рддреЗ рдЫрд╛рди рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрдК рд╢рдХрддреЗ.
  • рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░
    • "рдкреЕрдХреЗрдЬ рд╡рд┐рд╕реНрддрд╛рд░": рдЬреНрдпреБрд▓рд┐рдпрд╛ рд╕рддреНрд░рд╛рдд рд▓реЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЗрддрд░ рдкреЕрдХреЗрдЬреЗрд╕рдордзреВрди рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рд▓реЛрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди. рдЕрдиреБрдкреНрд░рдпреЛрдЧ "Requires.jl" рдкреЕрдХреЗрдЬ рдкреНрд░рдорд╛рдгреЗрдЪ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдкреВрд░реНрд╡-рд╕рдВрдХрд▓рди рдЖрдгрд┐ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗрдд.
  • рд░реЗрдЦреАрдп рдмреАрдЬрдЧрдгрд┐рдд рд▓рд╛рдпрдмреНрд░рд░реА
    • рдШрдЯрдХ-рдирд┐рд╣рд╛рдп рд╡рд┐рднрд╛рдЧрдгреАрдордзреНрдпреЗ рдЧреЛрдВрдзрд│ рд╣реЛрдгреНрдпрд╛рдЪреНрдпрд╛ рдЬреЛрдЦрдореАрдореБрд│реЗ, рд╕реНрдХреЗрд▓рд░ "a" рдЖрдгрд┐ рд╡реЗрдХреНрдЯрд░ "b" рд╕рд╣ "a/b" рдЖрдгрд┐ "b\a" рдкрджреНрдзрддреА рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реНрдпрд╛, рдЬреНрдпрд╛ "a * pinv(b)" рдЪреНрдпрд╛ рд╕рдорддреБрд▓реНрдп рд╣реЛрддреНрдпрд╛.
    • BLAS рдЖрдгрд┐ LAPACK рд▓рд╛ рдХреЙрд▓ рдХрд░рдгреЗ рдЖрддрд╛ "libblastrampoline (LBT)" рд╡рд╛рдкрд░рддреЗ. OpenBLAS рдореБрд▓рднреВрддрд░рд┐рддреНрдпрд╛ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдкрд░рдВрддреБ рдЗрддрд░ BLAS/LAPACK рд▓рд╛рдпрдмреНрд░рд░реАрд╕рд╣ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╕рдорд░реНрдерд┐рдд рдирд╛рд╣реА. рддреНрдпрд╛рдРрд╡рдЬреА, BLAS/LAPACK рд▓рд╛ рджреБрд╕рд░реНтАНрдпрд╛ рд╡рд┐рджреНрдпрдорд╛рди рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рд╕рдВрдЪрд╛рдиреЗ рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА LBT рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА рдЬрд╛рддреЗ.
    • "lu" рдирд╡реАрди рдореЕрдЯреНрд░рд┐рдХреНрд╕ рд░реЛрдЯреЗрд╢рди рд╕реНрдЯреНрд░реЕрдЯреЗрдЬреАрдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ, "RowNonZero()", рдЬреЗ рдирд╡реАрди рдЕрдВрдХрдЧрдгрд┐рдд рдкреНрд░рдХрд╛рд░рд╛рдВрд╕рд╣ рдЖрдгрд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╣реЗрддреВрдВрд╕рд╛рдареА рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдердо рд╢реВрдиреНрдп рдирд╕рд▓реЗрд▓реЗ рд░реЛрдЯреЗрд╢рди рдШрдЯрдХ рдирд┐рд╡рдбрддреЗ.
    • "normalize(x, p=2)" рдЖрддрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд╡реЗрдХреНрдЯрд░ рд╕реНрдкреЗрд╕ "x" рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ, рд╕реНрдХреЗрд▓рд░рд╕рд╣.
    • BLAS рдереНрд░реЗрдбреНрд╕рдЪреА рдбреАрдлреЙрд▓реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдЖрддрд╛ ARM рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░реНрд╕рд╡рд░реАрд▓ CPU рдереНрд░реЗрдбреНрд╕рдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдЗрддрдХреА рдЖрд╣реЗ рдЖрдгрд┐ рдЗрддрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░реНрд╕рд╡рд░реАрд▓ CPU рдереНрд░реЗрдбреНрд╕рдЪреНрдпрд╛ рдирд┐рдореНрдореА рдЖрд╣реЗ.
  • Printf: рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рд╡рд╛рдЪрдиреАрдпрддреЗрд╕рд╛рдареА рдЪреБрдХреАрдЪреНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рдлреЙрд░рдореЕрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕рд╕рд╛рдареА рдкреБрдиреНрд╣рд╛ рдХрд╛рдо рдХреЗрд▓реЗрд▓реЗ рддреНрд░реБрдЯреА рд╕рдВрджреЗрд╢.
  • рдкреНрд░реЛрдлрд╛рдЗрд▓: рдирд╡реАрди рдлрдВрдХреНрд╢рди "Profile.take_heap_snapshot(file)", рдЬреЗ Chrome рдордзреНрдпреЗ рд╕рдорд░реНрдерд┐рдд JSON-рдЖрдзрд╛рд░рд┐рдд ".heapsnapshot" рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдлрд╛рдЗрд▓ рд▓рд┐рд╣рд┐рддреЗ.
  • Random: randn рдЖрдгрд┐ randexp рдЖрддрд╛ рд░рдБрдб рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгрд╛рд▒реНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА AbstractFloat рдкреНрд░рдХрд╛рд░рд╛рд╕рд╛рдареА рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд.
  • REPL
    • рдЖрддрд╛ "Alt-e" рдХреА рд╕рдВрдпреЛрдЬрди рджрд╛рдмрд▓реНрдпрд╛рдиреЗ рд╕рдВрдкрд╛рджрдХрд╛рддреАрд▓ рд╡рд░реНрддрдорд╛рди рдЗрдирдкреБрдЯ рдЙрдШрдбрддреЗ. рддреБрдореНрд╣реА рд╕рдВрдкрд╛рджрдХрд╛рддреВрди рдмрд╛рд╣реЗрд░ рдкрдбрд▓реНрдпрд╛рд╡рд░ рд╕рд╛рдордЧреНрд░реА (рд╕реБрдзрд╛рд░рд┐рдд рдХреЗрд▓реНрдпрд╛рд╕) рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реА рдЬрд╛рдИрд▓.
    • REPL рдордзреНрдпреЗ рд╕рдХреНрд░рд┐рдп рдЕрд╕рд▓реЗрд▓реЗ рд╡рд░реНрддрдорд╛рди рдореЙрдбреНрдпреВрд▓ рд╕рдВрджрд░реНрдн "REPL.activate(::Module)" рдлрдВрдХреНрд╢рди рд╡рд╛рдкрд░реВрди рдмрджрд▓рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ (рдореБрдЦреНрдп рдмрд╛рдп рдбреАрдлреЙрд▓реНрдЯ) рдХрд┐рдВрд╡рд╛ REPL рдордзреНрдпреЗ рдореЙрдбреНрдпреВрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░реВрди рдЖрдгрд┐ "Alt-m" рдХреА рд╕рдВрдпреЛрдЬрди рджрд╛рдмреВрди.
    • "рдХреНрд░рдорд╛рдВрдХреАрдд рдкреНрд░реЙрдореНрдкреНрдЯ" рдореЛрдб, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯ рдЖрдгрд┐ рдЖрдЙрдЯрдкреБрдЯрд╕рд╛рдареА рдЕрдВрдХ рдореБрджреНрд░рд┐рдд рдХрд░рддреЛ рдЖрдгрд┐ рд╕реНрдХреЛрдЕрд░ рдХреЗрд▓реЗрд▓реЗ рдкрд░рд┐рдгрд╛рдо рдЖрдЙрдЯрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЛ, "REPL.numbered_prompt!()" рд╡рд╛рдкрд░реВрди рд╕рдХреНрд░рд┐рдп рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд.
    • рдЯреЕрдм рдкреВрд░реНрдг рдХрд░рдгреЗ рдЙрдкрд▓рдмреНрдз рдХреАрд╡рд░реНрдб рдпреБрдХреНрддрд┐рд╡рд╛рдж рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ.
  • SuiteSparse: "SuiteSparse" рд╕реЙрд▓реНрд╡реНрд╣рд░рд╕рд╛рдареА рдХреЛрдб "SparseArrays.jl" рд╡рд░ рд╣рд▓рд╡рд▓рд╛. рд╕реЙрд▓реНрд╡реНрд╣рд░реНрд╕ рдЖрддрд╛ "SuiteSparse.jl" рджреНрд╡рд╛рд░реЗ рдкреБрдиреНрд╣рд╛ рдирд┐рд░реНрдпрд╛рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.
  • рд╕реНрдкрд╛рд░реНрд╕ рдЕреЕрд░реЗ
    • "SuiteSparse" рд╕реЙрд▓реНрд╡реНрд╣рд░реНрд╕ рдЖрддрд╛ "SparseArrays" submodules рдореНрд╣рдгреВрди рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд.
    • UMFPACK рдЖрдгрд┐ COLMOD рдереНрд░реЗрдб рдкреНрд░реЛрдЯреЗрдХреНрд╢рди рдореЛрдб рдЧреНрд▓реЛрдмрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛рдвреВрди рдЯрд╛рдХреВрди рдЖрдгрд┐ рд▓реЙрдХ рд╡рд╛рдкрд░реВрди рд╕реБрдзрд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд. рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб "ldiv!" UMFPACK рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЖрддрд╛ рд╕реБрд░рдХреНрд╖рд┐рддрдкрдгреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд.
    • рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдХрд╛рд░реНрдп "SparseArrays.allowscalar(::Bool)" рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрдкрд╛рд░реНрд╕ рдЕреЕрд░реЗрдЪреЗ рд╕реНрдХреЗрд▓рд░ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдЕрдХреНрд╖рдо рдХрд┐рдВрд╡рд╛ рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рд╣реЗ рдХрд╛рд░реНрдп "SparseMatrixCSC" рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реНрдХреЗрд▓рд░ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрддреНрд░реЛрдд рдЖрд╣реЗ.
  • рдЪрд╛рдЪрдгреА рд╕рдВрдЪрд╛рдВрд╕рд╛рдареА рдирд╡реАрди рдлреЗрд▓рд╕реЗрдл рдореЛрдб рдЬреЗ рдЕрдкрдпрд╢ рдХрд┐рдВрд╡рд╛ рддреНрд░реБрдЯреА рдЭрд╛рд▓реНрдпрд╛рд╕ рдЪрд╛рдЪрдгреА рд░рди рд▓рд╡рдХрд░ рдмрдВрдж рдХрд░рддреЗ. рдПрдХрддрд░ тАЬ@testset kwarg failfast=trueтАЭ рдХрд┐рдВрд╡рд╛ тАЬExport JULIA_TEST_FAILFAST=trueтАЭ рджреНрд╡рд╛рд░реЗ рд╕реЗрдЯ рдХрд░рд╛. рдПрд░рд░ рдореЗрд╕реЗрдЬ рд▓рд╡рдХрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА CI рд░рдирдордзреНрдпреЗ рдХрдзреАрдХрдзреА рд╣реЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЗ.
  • рддрд╛рд░рдЦрд╛: рд░рд┐рдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдпрд╛рдкреБрдвреЗ рд╡реИрдз "рддрд╛рд░реАрдЦ рд╡реЗрд│", "рддрд╛рд░реАрдЦ" рдХрд┐рдВрд╡рд╛ "рд╡реЗрд│рд╛" рдореВрд▓реНрдпреЗ рдореНрд╣рдгреВрди рдЪреБрдХреАрдЪреНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рдкрд╛рд░реНрд╕ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рддреНрдпрд╛рдРрд╡рдЬреА рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЖрдгрд┐ рдкрд╛рд░реНрд╕рд┐рдВрдЧрдордзреНрдпреЗ "рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдПрд░рд░" рдЯрд╛рдХрддрд╛рдд, рддрд░ "рдЯреНрд░рд╛рдпрдкрд╛рд░реНрд╕" рдХрд╛рд╣реАрд╣реА рдкрд░рдд рдХрд░рдд рдирд╛рд╣реА.
  • рдкреЕрдХреЗрдЬ рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗ
    • рд╕реНрдерд╛рдирд┐рдХ рдХрд╛рдордЧрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рдЙрджрд╛. "addprocs(N::Int)" рдХрд┐рдВрд╡рд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдлреНрд▓реЕрдЧ "--procs=N" рд╡рд╛рдкрд░реВрди) рдЬреЛрдбрддрд╛рдирд╛ рдкреЕрдХреЗрдЬ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди (рд╕рдХреНрд░рд┐рдп рдкреНрд░рдХрд▓реНрдк, "LOAD_PATH", "DEPOT_PATH") рдЖрддрд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ.
    • рд╕реНрдерд╛рдирд┐рдХ рдХрд╛рдордЧрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрд╕рд╛рдареА "addprocs" рдЖрддрд╛ рдХрд╛рдордЧрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдордзреНрдпреЗ рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рдЪрд▓ рдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "env" рдирд╛рд╡рд╛рдЪрд╛ рдпреБрдХреНрддрд┐рд╡рд╛рдж рд╕реНрд╡реАрдХрд╛рд░рддреЛ.
  • рдпреБрдирд┐рдХреЛрдб: "рдЧреНрд░рд╛рдлреАрдо(s, m:n)" "s" рдордзреНтАНрдпреЗ mth рддреЗ nth рдЧреНрд░рд╛рдлреАрдордЪреЗ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд┐рд│рд╡рддреЗ.
  • DelimitedFiles рдкреЕрдХреЗрдЬ рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рдпрдмреНрд░рд░реАрдордзреВрди рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрддрд╛ рддреЗ рд╡реЗрдЧрд│реЗ рдкреЕрдХреЗрдЬ рдореНрд╣рдгреВрди рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рдЬреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.
  • рдмрд╛рд╣реНрдп рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡
    • Linux рдордзреНрдпреЗ, libstdc++ рд╕рд┐рд╕реНрдЯреАрдо рд▓рд╛рдпрдмреНрд░рд░реАрдЪреА рдЖрд╡реГрддреНрддреА рдЖрдкреЛрдЖрдк рд╢реЛрдзрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рддреА рдирд╡реАрди рдЕрд╕рд▓реНрдпрд╛рд╕, рддреА рд▓реЛрдб рдХреЗрд▓реА рдЬрд╛рддреЗ. рдЬреБрдиреЗ libstdc++ рдмрд┐рд▓реНрдЯ-рдЗрди рд▓реЛрдбрд┐рдВрдЧ рд╡рд░реНрддрди, рд╕рд┐рд╕реНрдЯрдо рдЖрд╡реГрддреНрддреАрдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░реВрди, рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ "JULIA_PROBE_LIBSTDCXX=0" рд╕реЗрдЯ рдХрд░реВрди рдкреБрдирд░реНрд╕рдВрдЪрдпрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.
    • рдЬреНрдпреБрд▓рд┐рдпрд╛ рдмрд╛рдпрдирд░реА рдордзреВрди "RPATH" рдХрд╛рдврд▓реЗ, рдЬреЗ Linux рд╡рд░реАрд▓ рд▓рд╛рдпрдмреНрд░рд░реА рдЦрдВрдбрд┐рдд рдХрд░реВ рд╢рдХрддреЗ рдЬреЗ "RUNPATH" рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рдд рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрддреЗ.
    • рд╕рд╛рдзрди рд╕реБрдзрд╛рд░рдгрд╛: "MethodError" рдЖрдгрд┐ рдкрджреНрдзрддреАрдВрдЪреЗ рдЖрдЙрдЯрдкреБрдЯ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде "methods(my_func)" рдордзреВрди) рдЖрддрд╛ рд╕реНрдЯреЕрдХ рдЯреНрд░реЗрд╕рдордзреАрд▓ рдкрджреНрдзрддреАрдВрдЪреНрдпрд╛ рдЖрдЙрдЯрдкреБрдЯрдЪреНрдпрд╛ рддрддреНрддреНрд╡рд╛рдиреБрд╕рд╛рд░ рд╕реНрд╡рд░реВрдкрд┐рдд рдЖрдгрд┐ рд░рдВрдЧреАрдд рдХреЗрд▓реЗ рдЖрд╣реЗ.

    рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛