「Julia」の主な特徴として、「高速性(JITコンパイラ)」「分散処理」「パッケージ(外部ライブラリ連携)」「サポートOS」「サポートIDE」について紹介します。

「Julia」の主な特徴

「Julia」の主な特徴として、「高速性(JITコンパイラ)」「分散処理」「パッケージ(外部ライブラリ連携)」「サポートOS」「サポートIDE」について紹介します。

■関連する比較ページ

「Julia」の主な特徴

■高速性(JITコンパイラ)

Julia最大の特徴は「実行速度の高速性」です。

Juliaの「LLVMベースのJIT(ジャストインタイム)コンパイラ」は、コード実行前に型推論/最適化を行い、その後コードを実行します。型推論の結果、型が決定できる部分では強力な最適化を行い、曖昧性が残る部分では実行時の型に合わせて実行します。

JITコンパイラと言語設計を組み合わせることで、ネイティブコンパイル言語並の高速動作を実現でき、静的コンパイル言語に近いパフォーマンスを発揮できます。

JuliaのコンパイラはPython/Rのような言語に使用されているインタプリタとは異なるため、最初は、Juliaが備えるハイパフォーマンスを実感できないこともあります。そのような場合には、Juliaドキュメントの「パフォーマンスヒント」セクションを参照し、Juliaの仕組みを理解すると、C言語並の高速処理に近づけます。

処理速度

Juliaの処理速度については、
・「Fortran」「C言語」の半分程度の速度
・スクリプト言語最速といわれる「JavaScript」を上回る速度
・「Go」「Java」と良い勝負ができるレベル
・「Python」の数十倍高速
・「R言語」「MATLAB」の数百倍高速
などの報告があがっています。

実行速度比較ベンチマーク

Juliaの公式サイトでは、他言語との相対的パフォーマンス比較として、マイクロベンチマーク結果について紹介されています。

→Julia →Julia Micro-Benchmarks

■分散処理

Juliaは「並列処理」や「分散(クラウド)コンピューティング」も視野に入れて設計が行われています。

ユーザーに特定スタイルの並列処理を課すものではなく、分散計算のための複数のビルディングブロックを提供し、多数の並列スタイルをサポートするための十分な柔軟性を持たせています。

■パッケージ(外部ライブラリ連携)

Juliajは「歴史が浅いためライブラリ数が少ない」という問題について、外部ライブラリ連携でカバーできるようになっています。

CおよびFortran共有ライブラリの外部関数について、ラッパーコードを記述したり、既存コード再コンパイルすることなく呼び出せます。Juliaのインタラクティブなプロンプトから直接外部ライブラリ関数を呼び出して実行できます。

Julia開発者コミュニティは、Juliaのビルトインパッケージマネージャを通じて、多数の外部パッケージを迅速に提供しています。

ポイント

・「C言語」「Fortran」のライブラリをラッパーなしで直接呼び出し可能(Foreign function interfaceに対応)
・Python関数の直接呼び出し(PyCallパッケージを使用)
・C関数を直接呼び出し(ラッパーや特別なAPIは不要)
・「Python」「PyLab」「iPython Notebook」のためのインターフェース
・「浮動小数点数計算」「線型代数学」「高速フーリエ変換」「正規表現照合」などのライブラリを利用可能

Juliaパッケージリスト

多くのパッケージがJuliaパッケージリストに用意されています。

→Julia →Julia Package Listing

■サポートOS

Juliaは、次のプラットフォームで定期的に構築されテストされています。
・公式版:Linux、macOS、Windows
・コミュニティ版:FreeBSD

■サポートIDE

Juliaは「Atom」「Visual Studio Code」「Eclipse」の3つの主要なIDEにサポートされています。

Julia最新TOPICS

【OSS】分析データベース「JuliaDB」---Julia言語でクエリ作成、高速並列処理、高速CSVパーサー(2020年09月14日 10:20)

「JuliaDB」とは JuliaDBは、大規模永続データセットを操作するためのパッケージで、優れたパフォーマンスを発揮する分析データベース機能を提供する。 「Julia言語」をベースに構築されており、Pandasなどの同様プロダクトと比較しても、優れた機能を利用できる。 「the MIT "Exp...

Julia最新CLOSEUPコラム

イベント情報

セミナー講演資料

無料資料プレゼント

2021/03/04 セキュリティDAYS Keyspider資料

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



セミナー講演資料公開中

ローコード/ノーコードのツール比較と内製化 ~ユーザー企業は、ノーコード/ローコードで内製化できるのか?~

SIer企業の「リスキリング」実現ロードマップを解説 〜開発現場で必要なスキルを実践しながら学べる学習プラットフォーム〜

リアルタイム性の高いIoTの課題とは?スマートシティを支えるMQTT ~IoTメッセージングプラットフォームを活用し、セキュリティ確保や通信到達保障を簡単に実現~

  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter