0Pricing
Java Academy · レッスン

ベンチマーク

統計処理における逐次StreamとパラレルStreamの性能をベンチマークします。

「ベンチマーク」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。

導入

ベンチマークによって、逐次ストリームと並列ストリームの速度差を測定します。

準備

大規模なデータセット(例:数百万個の数値)を使い、合計や平均の実行時間を測定します。

コード:逐次処理のベンチマーク

これは逐次処理で合計を計算する時間を測定します。

import java.util.*;public class Main {
  public static void main(String[] args) {
    List<Integer> nums = new ArrayList<>();
    for(int i=0;i<1_000_000;i++) nums.add(i);
    long start = System.currentTimeMillis();
    long sum = nums.stream().mapToLong(n -> n).sum();
    long time = System.currentTimeMillis() - start;
    System.out.println("Sequential sum=" + sum + " in " + time + "ms");
  }
}

コード:並列処理のベンチマーク

これは並列処理で合計を計算する時間を測定します。大規模なデータセットでは、こちらのほうが速くなるはずです。

import java.util.*;public class Main {
  public static void main(String[] args) {
    List<Integer> nums = new ArrayList<>();
    for(int i=0;i<1_000_000;i++) nums.add(i);
    long start = System.currentTimeMillis();
    long sum = nums.parallelStream().mapToLong(n -> n).sum();
    long time = System.currentTimeMillis() - start;
    System.out.println("Parallel sum=" + sum + " in " + time + "ms");
  }
}

比較

処理時間を比較します。データが大きくCPUバウンドの場合は、並列処理のほうが速くなります。小さなリストでは、逐次処理のほうが速い場合があります。

コード:平均のベンチマーク

平均値についてもベンチマークを実行し、速度差を確認できます。

import java.util.*;public class Main {
  public static void main(String[] args) {
    List<Integer> nums = new ArrayList<>();
    for(int i=0;i<1_000_000;i++) nums.add(i);
    long start = System.currentTimeMillis();
    double avg = nums.parallelStream().mapToInt(n -> n).average().orElse(0);
    long time = System.currentTimeMillis() - start;
    System.out.println("Parallel average=" + avg + " in " + time + "ms");
  }
}

ベンチマークの確認

クイックチェック:並列ストリームが通常、性能上のメリットを示すのはどのような場合ですか。

まとめ

まとめ:逐次ストリームと並列ストリームをベンチマークで比較しました。大規模なデータでは並列処理が有利ですが、小規模なデータでは逐次処理のほうが速い場合があります。

よくある質問

「ベンチマーク」レッスンは無料ですか?

はい。「ベンチマーク」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。

「ベンチマーク」で何を学びますか?

統計処理における逐次StreamとパラレルStreamの性能をベンチマークします。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。

「ベンチマーク」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 設計
  2. 実装
  3. ベンチマーク
← Java Academyに戻る