I have tried only with 6 elements as I didn't have much data. I ran each method thrice
When I ran basic for loop, it took very less time compare to parallel stream. Is it due to less number or record. If yes, can I get any graph where I can see after how may records parallel stream can overtake basic for loop for basic opearion.
    long startTime = System.nanoTime();
    // 222436   331094  316872ns
    for (int i = 0; i < employeeOtps.size(); i++) {
        Employee emp = employees.get(i);
        EmployeeOtp employeeOtp = employeeOtps.get(i);
        emp.setMobileNo(employeeOtp.getReqValue());
        employees.set(i, emp);
    }
    // OR this one
    // 3071437  3879830 3177251ns
    IntStream.range(0, employeeOtps.size()).parallel.forEach(i -> 
    { 
        EmployeeMaster emp = employees.get(i); 
        EmployeeOtp employeeOtp = employeeOtps.get(i);
        emp.setMobileNo(employeeOtp.getReqValue());
        employees.set(i, emp); 
      });
    // OR this one
    //8727341 14350819 6088261ns
    IntStream.range(0, employeeOtps.size()).forEach(i -> 
    { 
        EmployeeMaster emp = employees.get(i); 
        EmployeeOtp employeeOtp = employeeOtps.get(i);
        emp.setMobileNo(employeeOtp.getReqValue());
        employees.set(i, emp); 
      });
    long totalTime = (System.nanoTime() - startTime);
I ran one by one and recorded time.
for loop:- 222436, 331094, 316872 ns
stream w/o parallel:- 3071437, 3879830, 3177251 ns
stream with parallel:- 3071437, 3879830, 3177251 ns
less time order wise for size = 6
basic for loop (290ms) < intstream parallel(3376ms) < intsream(9722ms)
