Julia 1.9 ããã°ã©ãã³ã°èšèªã®ãªãªãŒã¹ãå ¬éãããé«æ§èœãåçåä»ãã®ãµããŒãã䞊åããã°ã©ãã³ã°çšã®çµã¿èŸŒã¿ããŒã«ãªã©ã®å質ãçµã¿åããããŠããŸãã Julia ã®æ§æ㯠MATLAB ã«è¿ããRuby ãš Lisp ããããã€ãã®èŠçŽ ãåçšããŠããŸãã æååæäœæ¹æ³ã¯ Perl ã圷圿ãšãããŸãã ãããžã§ã¯ã ã³ãŒã㯠MIT ã©ã€ã»ã³ã¹ã«åºã¥ããŠé åžãããŸãã
èšèªã®äž»ãªç¹åŸŽ:
- é«ãããã©ãŒãã³ã¹: ãããžã§ã¯ãã®éèŠãªç®æšã® XNUMX ã€ã¯ã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 ã«ãã£ãŠåŠçãããŸãã
- åäžæåãªãã©ã«ãæååãªãã©ã«ãšåãæ§æããµããŒãããããã«ãªããŸããã ãããã®ã æ§æã¯ãChar åã§èš±å¯ãããŠããããã«ãç¡å¹ãª UTF-8 ã·ãŒã±ã³ã¹ãè¡šãããšãã§ããŸãã
- Unicode 15 ä»æ§ã®ãµããŒããè¿œå ãããŸããã
- ã¿ãã«ãšååä»ãæåã¿ãã«ã®ãã¹ããããçµã¿åãããåãã©ã¡ãŒã¿ãšããŠäœ¿çšã§ããããã«ãªããŸããã
- ã°ããŒãã«å€æ°ã®ã¿ãèªã¿æžãããããã®æ°ããçµã¿èŸŒã¿é¢æ°ãgetglobal(::Module, ::Symbol[, order])ãããã³ãsetglobal!(::Module, ::Symbol, x[, order])ãã ã°ããŒãã«å€æ°ã«ã¢ã¯ã»ã¹ããå Žåã¯ãgetfield ã¡ãœããããã getglobal ã¡ãœãããåªå ãããããã«ãªããŸããã
- èšèªã®å€å
- ããŒãžã§ã³ 1.7 ã§å°å ¥ãããã@invokeããã¯ãããšã¯ã¹ããŒãããã䜿çšã§ããããã«ãªããŸããã ããã«ããxãåŒæ°ã®å泚éãçç¥ãããå ŽåããAnyãã§ã¯ãªããCore.Typeof(x)ãã¡ãœããã䜿çšãããããã«ãªããŸããã ããã¯ãåŒæ°ãšããŠæž¡ãããåãæ£ããåŠçãããããšãä¿èšŒããããã«å¿ èŠã§ãã
- ããŒãžã§ã³ 1.7 ã§å°å ¥ããããinvokelatestãé¢æ°ãšã@invokelatestããã¯ãã®ãšã¯ã¹ããŒããæå¹ã«ãªããŸããã
- ã³ã³ãã€ã©/ã©ã³ã¿ã€ã ã®æ¹å
- æåã®å®è¡ãŸã§ã®æé (TTFX - æåã®å®è¡ãŸã§ã®æé) ãå€§å¹ ã«ççž®ãããŸããã ããã±ãŒãžãããªã³ã³ãã€ã«ãããšããã€ãã£ã ã³ãŒãããpkgimageãã«ä¿åãããããã«ãªããŸãããã€ãŸããããªã³ã³ãã€ã« ããã»ã¹ã«ãã£ãŠçæãããã³ãŒãã¯ãããã±ãŒãžã®ããŒãåŸã«åã³ã³ãã€ã«ããå¿ èŠããªããªããŸãã pkgimages ã¢ãŒãã®äœ¿çšã¯ãã--pkgimages=noããªãã·ã§ã³ã䜿çšããŠç¡å¹ã«ã§ããŸãã
- åæšè«ã®æ¢ç¥ã® XNUMX 次è€éãã®åé¡ãä¿®æ£ãããæšè«ã§äœ¿çšãããã¡ã¢ãªå šäœãå°ãªããªããŸããã èªåçã«çæãããé·ãé¢æ°ãå«ãäžéšã®ãšããž ã±ãŒã¹ (å埮åæ¹çšåŒã倧èŠæš¡ãªå æã¢ãã«ãå«ã ModelingToolkit.jl ãªã©) ã¯ãã³ã³ãã€ã«ãã¯ããã«é«éã«ãªããŸãã
- å ·äœçãªåã®ãªãåŒæ°ãæã€åŒã³åºãã¯ããã£ã¹ããã察象ã®ç°ãªãåã®åè£ãè€æ°ããå Žåã§ããæ³šå ¥ãŸãã¯éç解決ã®ããã«æé©åããã Union åå²ã§ããããã«ãªããŸããã ããã«ãããã@nospecialize-dãåŒã³åºããµã€ããéçã«è§£æ±ºããåã³ã³ãã€ã«ãåé¿ããããšã§ããªããžã§ã¯ãåãå®å šã«éçã«è§£æ±ºãããªãç¹å®ã®ç¶æ³ã§ããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸãã
- Base ã¢ãžã¥ãŒã«ã§ã® @pure ãã¯ãã®äœ¿çšã¯ãã¹ãŠ Base.@assume_Effects ã«çœ®ãæããããŸããã
- f(args...) ã«é垞䜿çšããããã®ãããéå®çã§ã¯ãªãåã䜿çšãã invoke(f, invokesig, args...) ã®åŒã³åºãã«ãã£ãŠãããã±ãŒãžãåã³ã³ãã€ã«ãããªããªããŸããã
- ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ã®å€æŽ
- Linux ããã³ Windows ã§ã¯ãã--threads=autoããªãã·ã§ã³ã¯ãHPC ããã³ã¯ã©ãŠãç°å¢ã§éåžžèšå®ããããã¹ã¯ã§ãã CPU ã¢ãã£ããã£ã«åºã¥ããŠã䜿çšå¯èœãªããã»ããµã®æ°ã決å®ããããšããŸãã
- ã--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 ãªã©) ã¯ããjl_adopt_threadãã䜿çšã㊠Julia ã³ãŒããåŒã³åºãããšãã§ããããã«ãªããŸããã ããã¯ããcfunctionããŸãã¯ã@ccallableããšã³ã㪠ãã€ã³ããä»ã㊠Julia ã³ãŒããå ¥åãããšèªåçã«è¡ãããŸãã ãã®çµæãå®è¡äžã«ã¹ã¬ããã®æ°ãå€æŽãããå¯èœæ§ããããŸãã
- æ°ããã©ã€ãã©ãªé¢æ°
- æ°æ©èœã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ã以å€ã®åã§ãæ©èœããããã«ãªããŸããã
- ãsizehint!ãã䜿çšããŠãdictããæåã§çž®å°ã§ããããã«ãªããŸããã
- ã@timeãã¯ãç¡å¹ãªã¡ãœããã®åã³ã³ãã€ã«ã«è²»ããããæéã®å²åãåå¥ã«æå®ããããã«ãªããŸããã
- æšæºã©ã€ãã©ãªãžã®å€æŽ
- Dict ããã³ä»ã®æŽŸçãªããžã§ã¯ã (keys(::Dict)ãvalues(::Dict)ãSet ãªã©) ã®å埩ã¡ãœããã«ãããåæå®è¡ã®åé¡ãä¿®æ£ããŸããã ãããã®å埩ã¡ãœããã¯ããã£ã¯ã·ã§ããªãŸãã¯ã»ãããå€æŽããã¢ã¯ã·ã§ã³ããªãéããã¹ã¬ããæ°ã«å¶éãªãããã£ã¯ã·ã§ããªãŸãã¯ã»ããäžã§äžŠè¡ããŠåŒã³åºãããšãã§ããããã«ãªããŸããã
- è¿°èªé¢æ°ã!fããåŠå®ãããšãå¿åé¢æ°ã§ã¯ãªãè€åé¢æ°ã(!) â fããè¿ãããããã«ãªããŸããã
- ãã£ã¡ã³ã·ã§ã³ ã¹ã©ã€ã¹é¢æ°ãè€æ°ã®ãã£ã¡ã³ã·ã§ã³ã«ããã£ãŠæ©èœããããã«ãªããŸããããeachsliceãããeachrowããããã³ãeachcolãã¯ãããå¹ççãªã¡ãœãããæäŸãããã£ã¹ããããå¯èœã«ãããSlicesããªããžã§ã¯ããè¿ããŸãã
- å ¬éAPIã«ã@kwdefããã¯ããè¿œå ããŸããã
- ãfld1ãã®æäœé åºã®åé¡ãä¿®æ£ããŸããã
- 䞊ã¹æ¿ãã¯åžžã«æéçã«å®å®ããããã«ãªããŸãã (QuickSort ã¯åèšèšãããŸãã)ã
- ãBase.splatãããšã¯ã¹ããŒããããŸããã æ»ãå€ã¯å¿åé¢æ°ã§ã¯ãªããBase.Splatãåãªã®ã§ç¶ºéºã«åºåã§ããŸãã
- ããã±ãŒãžãããŒãžã£ãŒ
- ãããã±ãŒãžæ¡åŒµæ©èœã: Julia ã»ãã·ã§ã³ã«ããŒããããä»ã®ããã±ãŒãžããã³ãŒã ã¹ãããããããŒãããããã®ãµããŒãã ãã®ã¢ããªã±ãŒã·ã§ã³ã¯ãRequires.jlãããã±ãŒãžã«äŒŒãŠããŸãããããªã³ã³ãã€ã«ãšèšå®ã®äºææ§ããµããŒããããŠããŸãã
- ç·åœ¢ä»£æ°ã©ã€ãã©ãª
- èŠçŽ ããšã®é€ç®ãšã®æ··ä¹±ã®å±éºæ§ãããããããa * pinv(b)ããšåçã®ã¹ã«ã©ãŒãaããšãã¯ãã«ãbããå«ããa/bãããã³ãb\aãã¡ãœãããåé€ããŸããã
- BLAS ããã³ LAPACK ã®åŒã³åºãã«ã¯ããlibblastrampoline (LBT)ãã䜿çšãããããã«ãªããŸããã OpenBLAS ã¯ããã©ã«ãã§æäŸãããŸãããä»ã® BLAS/LAPACK ã©ã€ãã©ãªã䜿çšããã·ã¹ãã ã€ã¡ãŒãžã®æ§ç¯ã¯ãµããŒããããŠããŸããã 代ããã«ãLBT ã¡ã«ããºã ã䜿çšã㊠BLAS/LAPACK ãå¥ã®æ¢åã®ã©ã€ãã©ãª ã»ããã«çœ®ãæããããšããå§ãããŸãã
- ãluãã¯ãæ°ããè¡åå転æŠç¥ãRowNonZero()ãããµããŒãããŸããããã¯ãæ°ããç®è¡åã§äœ¿çšããããããã¬ãŒãã³ã°ç®çã§æåã®éãŒãå転èŠçŽ ãéžæããŸãã
- ãnormalize(x, p=2)ãã¯ãã¹ã«ã©ãŒãå«ãä»»æã®æ£èŠåãã¯ãã«ç©ºéãxãããµããŒãããããã«ãªããŸããã
- BLAS ã¹ã¬ããã®ããã©ã«ãæ°ã¯ãARM ã¢ãŒããã¯ãã£ã® CPU ã¹ã¬ããæ°ãšçãããä»ã®ã¢ãŒããã¯ãã£ã® CPU ã¹ã¬ããæ°ã®ååã«ãªããŸããã
- Printf: èªã¿ãããããããã«ãæ£ãããã©ãŒããããããŠããªãæååã®ãšã©ãŒ ã¡ãã»ãŒãžãä¿®æ£ããŸããã
- ãããã¡ã€ã«: Chrome ã§ãµããŒããããŠãã JSON ããŒã¹ã®ã.heapsnapshotã圢åŒã§ãã¡ã€ã«ãæžã蟌ãæ°é¢æ°ãProfile.take_heap_snapshot(file)ãã
- ã©ã³ãã : randn ãš randexp ã¯ãrand ãå®çŸ©ããä»»æã® AbstractFloat åã§æ©èœããããã«ãªããŸããã
- 亀æ
- ãAlt-eãããŒã®çµã¿åãããæŒããšããšãã£ã¿ãŒã§çŸåšã®å ¥åãéããŸãã ã³ã³ãã³ã (å€æŽãããŠããå Žå) ã¯ããšãã£ã¿ãŒãçµäºãããšãã«å®è¡ãããŸãã
- REPL ã§ã¢ã¯ãã£ããªçŸåšã®ã¢ãžã¥ãŒã« ã³ã³ããã¹ãã¯ãé¢æ°ãREPL.activate(::Module)ãã䜿çšããããREPL ã«ã¢ãžã¥ãŒã«ãå ¥åããŠããŒã®çµã¿åãããAlt-mããæŒãããšã«ãã£ãŠå€æŽã§ããŸã (ããã©ã«ãã§ã¯ Main)ã
- ãçªå·ä»ãããã³ãããã¢ãŒãã¯ãåå ¥åãšåºåã®çªå·ãåºåããæ¡ç¹çµæã Out ã«ä¿åããŸãããREPL.numbered_prompt!()ãã䜿çšããŠã¢ã¯ãã£ãåã§ããŸãã
- ã¿ãè£å®ã«ããã䜿çšå¯èœãªããŒã¯ãŒãåŒæ°ã衚瀺ãããŸãã
- SuiteSparse: ãSuiteSparseããœã«ããŒã®ã³ãŒãããSparseArrays.jlãã«ç§»åããŸããã ãœã«ããŒã¯ãSuiteSparse.jlãã«ãã£ãŠåãšã¯ã¹ããŒããããããã«ãªããŸããã
- ã¹ããŒã¹é
å
- ãSuiteSparseããœã«ããŒããSparseArraysããµãã¢ãžã¥ãŒã«ãšããŠå©çšã§ããããã«ãªããŸããã
- UMFPACK ããã³ CHOLMOD ã¹ã¬ããä¿è·ã¢ãŒãã¯ãã°ããŒãã«å€æ°ãåé€ããããã¯ã䜿çšããããšã«ãã£ãŠæ¹åãããŸããã ãã«ãã¹ã¬ãããldiv!ã UMFPACK ãªããžã§ã¯ããå®å šã«å®è¡ã§ããããã«ãªããŸããã
- å®éšçãªé¢æ°ãSparseArrays.allowscalar(::Bool)ãã䜿çšãããšãã¹ããŒã¹é åã®ã¹ã«ã©ãŒ ã€ã³ããã¯ã¹ä»ããç¡å¹ãŸãã¯æå¹ã«ããããšãã§ããŸãã ãã®é¢æ°ã¯ãããã©ãŒãã³ã¹äžã®åé¡ã®äžè¬çãªåå ã§ãããSparseMatrixCSCããªããžã§ã¯ãã®ã©ã³ãã ãªã¹ã«ã©ãŒ ã€ã³ããã¯ã¹ä»ããæ€åºããããã«èšèšãããŠããŸãã
- é害ãŸãã¯ãšã©ãŒãçºçããå Žåã«ãã¹ãå®è¡ãæ©æã«çµäºããããã¹ã ã¹ã€ãŒãã®æ°ãããã§ãŒã«ã»ãŒã ã¢ãŒãã ã@testset kwarg failed=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)" ã¯ã"s" å ã® m çªç®ãã n çªç®ã®æžèšçŽ ã®éšåæååãè¿ããŸãã
- DelimitedFiles ããã±ãŒãžã¯ã·ã¹ãã ã©ã€ãã©ãªããåé€ãããçŸåšã¯å¥åã®ããã±ãŒãžãšããŠé åžãããŠããã䜿çšããã«ã¯æ瀺çã«ã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
- å€éšäŸåé¢ä¿
- Linux ã§ã¯ãlibstdc++ ã·ã¹ãã ã©ã€ãã©ãªã®ããŒãžã§ã³ãèªåçã«æ€åºãããæ°ããå Žåã¯ããŒããããŸãã ã·ã¹ãã ã®ããŒãžã§ã³ã«é¢ä¿ãªããç°å¢å€æ°ãJULIA_PROBE_LIBSTDCXX=0ããèšå®ããããšã§ãå€ã libstdc++ çµã¿èŸŒã¿ã®ããŒãåäœã埩å ã§ããŸãã
- julia ãã€ããªãããRPATHããåé€ããŸãããããã«ããããRUNPATHãå€æ°ã®å®çŸ©ã«å€±æãã Linux äžã®ã©ã€ãã©ãªãç Žæããå¯èœæ§ããããŸãã
- ããŒã«ã®æ¹å: "MethodError" ããã³ã¡ãœãã (ããšãã° "methods(my_func)" ããã®) ã®åºåããã¹ã¿ã㯠ãã¬ãŒã¹ã§ã®ã¡ãœããã®åºåã®ååã«åŸã£ãŠãã©ãŒãããããã³è²ä»ããããããã«ãªããŸããã
åºæïŒ ãªãŒãã³ããã.ru