Skip to content

Phase 2 · Multithreaded Performance Optimization

Phase 2 evaluates the impact of Java multithreading on execution time for computing the sum of cubes of array elements.

The benchmark was executed on an Apple M2 MacBook Air using OpenJDK 25 LTS (Temurin) and the official thread counts 1, 2, 4, 6, and 8.


Phase 2 Navigation

  • Experimental Plan


    Controlled setup, timing method, and repeat policy.

    Open Plan

  • Results Template


    Ready-to-fill tables for timing, speedup, and machine specifications.

    Open Results

  • Analysis Report


    Structured report outline mapped to submission requirements.

    Open Report

  • Work Log


    Team responsibilities and progress checkpoints.

    Open Work Log


Required Thread Configurations

  • Single Thread Baseline


    Baseline average: 3.754 ms using 1 thread.

  • Low Parallelism


    2 threads slowed down to 4.335 ms, while 4 threads improved to 3.111 ms.

  • High Parallelism


    6 threads averaged 0.698 ms and 8 threads averaged 0.649 ms.

  • Performance Metrics


    Recorded metrics: execution time, speedup, and percentage improvement.


Requirement Source

The detailed requirement summary is available here:


Benchmark Summary

  • Best Average Result


    8 threads achieved the fastest average runtime: 0.649 ms.

  • Strong Scaling Region


    The largest improvement appeared at 6 and 8 threads, where runtime dropped below 0.7 ms.

  • Early Overhead


    2 threads performed worse than the single-thread baseline, indicating overhead on this workload size.

  • Dataset Size


    Each configuration was measured across 12 recorded runs.