The Little Book of Julia Algorithms: A workbook to develop fluency in Julia programming
目次
はじめに
ついに待ちに待ったJulia 1.6がリリースされたのですが、
Julia1.6で導入された新機能に関して調べながら、
Twitterでメモを取ったのでまとめておきます。
Twitterメモ
🎉🎉🎉 Release v1.6.0 · JuliaLang/julia https://t.co/ROQEylXHWj
— Atsushi Sakai (@Atsushi_twi) 2021年3月24日
バイナリも公開されていますね。こちらからダウンロードできます。https://t.co/KJPJHFPhyX
— Atsushi Sakai (@Atsushi_twi) 2021年3月25日
v1.6の新機能に関してはこちらの公式ブログにまとめられています。1.6がLTSになるかどうかは、もう少し様子を見てから決まるみたいですね。: Julia 1.6 Highlights https://t.co/7pvkAmC79t
— Atsushi Sakai (@Atsushi_twi) 2021年3月25日
最初の新機能はパッケージのプレコンパイルが並列化されたことですね。これまではシーケンシャルにプレコンパイルしていたので8分かかっていたパッケージが、1.6では1分で済むようになったようです。(あとこのクルクル回るインストールUIかわいい) pic.twitter.com/yyUwunsUvi
— Atsushi Sakai (@Atsushi_twi) 2021年3月25日
二つ目の新機能はJuliaのパフォーマンスチューニングでは必須のtimeマクロで、下記のツイートのようにコンパイル時間の割合が表示されるようになったことです。これによりコンパイルに時間がかかっているのか、それとも処理そのものがボトルネックなのかわかりやすくなる気がします。 https://t.co/PnB22024Gq
— Atsushi Sakai (@Atsushi_twi) 2021年3月25日
1.6で多くの人にとって一番嬉しいのはusingした時の待ち時間、いわゆるlatencyが改善したことかもしれません。メソッドテーブルの最適化や無駄な再コンパイル防止などがされています。パッケージによりますが数倍から数十倍早くなっています😃 https://t.co/90X0uPBM74
— Atsushi Sakai (@Atsushi_twi) 2021年3月26日
次の特徴としては、別の言語で実装されたソフトを様々な環境で利用する時などに利用するJLL関連の最適化により、バイナリの読み込みが高速化したことです。例えばJulia1.4で7秒かかっていたGTK3のバイナリ読み込みが200msまで削減され、数十倍高速化されています。https://t.co/vvjWU1bzXA
— Atsushi Sakai (@Atsushi_twi) 2021年3月26日
これら以外にも、これまでファイルのダウンロードなどにcurlやwgetの外部コマンドを使っていたのを、libcurlを使ってダウンロード処理を最適化したり、不安定なCIのテストケースを修正したり、スタックトレースを見やすくするなど、日々使う機能が改善されておりありがたい限りです😃
— Atsushi Sakai (@Atsushi_twi) 2021年3月26日
参考資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。