Julia と Java の実行速度はどれくらいですか? JuliaとJavaのパフォーマンス比較

不言
リリース: 2018-09-15 16:47:08
オリジナル
4807 人が閲覧しました

この記事の内容はJuliaとJavaの実行速度についてです? Julia と Java のパフォーマンス比較は一定の参考値がありますので、お困りの方は参考にしていただければ幸いです。

1. はじめに

Julia のパフォーマンスは c/c に匹敵すると言われています。私はいつも Java を使っているので、Julia の実行速度に非常に興味があります。 JuliaとJavaの簡単な比較。
今回は、Julia と Java の 1 億回の加算演算の速度を比較します。

2. 最適化なしの Julia と Java の比較

まず、私が書いた Julia コードは最適化されていませんでした。

x=0
@time for i in 1:10^8
    global x+=i
end
ログイン後にコピー

これは 3 回の実行です 結果: 約 6 秒

  6.550459 seconds (200.00 M allocations: 2.980 GiB, 18.45% gc time)
  6.565272 seconds (200.00 M allocations: 2.980 GiB, 18.15% gc time)
  6.382583 seconds (200.00 M allocations: 2.980 GiB, 18.37% gc time)
ログイン後にコピー

Java コードと実行結果を見てください:

 public class Test1 {
    public static void main(String[] args) {
            long t1=System.currentTimeMillis();
            long x=0;
            for(int i = 1; i<=100000000; i++)
                x+=i;
            long t2=System.currentTimeMillis();
            System.out.println("x="+x+", duration="+(t2-t1));
        }
}
ログイン後にコピー

3 回の実行結果: 約 40ms

x=5000000050000000, duration=41
x=5000000050000000, duration=40
x=5000000050000000, duration=40
ログイン後にコピー

上記の実行より結果、Java 明らかに Julia よりもはるかに高速で、時間差は 100 倍以上ありますが、これは Julia が最適化していないコードです。

#3 の後の状況を見てみましょう。最適化後の Julia と Java の比較

グローバル変数を削除し、コードを関数に入れて、関数を呼び出します。コードは次のとおりです。

function sumfor()
    x=0
    for i in 1:10^8
        x+=i
    end
    x
end
@time sumfor()
@time sumfor()
ログイン後にコピー
結果は次のとおりです。 Julia は最初の実行でプリコンパイル操作を実行するため、メソッドを 2 回呼び出し、2 番目の結果が優先されます。

2 回目の実行には 0.002 ミリ秒しかかかりませんでした。これは Java よりもはるかに高速です。

0.080203 秒 (35.91 k の割り当て: 1.978 MiB)

0.000003 秒 (5 つの割り当て: 176 バイト)
0.062682 秒 (35.91 k の割り当て: 1.978 MiB、46.11% の gc 時間)
0.000002秒 (5 つの割り当て: 176 バイト)
0.037539 秒 (35.91 k の割り当て: 1.978 MiB)
0.000002 秒 (5 つの割り当て: 176 バイト)

要約: 上記の比較から、Julia は確かにそれです。は Java よりもはるかに高速ですが、ここでは単純な比較のみが行われており、厳密なテストは行われていません。参照のみを目的としています。

以上がJulia と Java の実行速度はどれくらいですか? JuliaとJavaのパフォーマンス比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!