A Java-based performance experiment that measures the speedup of parallel computation across different file sizes using multiprocessing and Bubble Sort.
- Automatically generates 3 datasets of 120 files each
- Small files — 2000 numbers/file
- Medium files — 5000 numbers/file
- Large files — 10000 numbers/file
- Uses a fixed random seed to ensure reproducible results every run
- Uses ProcessBuilder to spawn real OS-level child processes
- Dynamically splits 120 files across P workers (
P = 1, 2, 3...up to CPU core count) - Measures makespan — total time from first process start to last process finish
- Each worker reads a file and sorts it using Bubble Sort
- O(n²) complexity ensures computation is heavy enough to show real parallelism gains
- Results are intentionally discarded — only timing matters