public class SingleThreadedMatrixDivider { public static void main(String[] args) { int[][] matrix = MatrixGenerator.generateMatrix(1000, 1000); long startTime = System.currentTimeMillis(); int max = findMax(matrix); for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[i].length; j++) { matrix[i][j] /= max; } } long endTime = System.currentTimeMillis(); System.out.println("Single-flow: " + (endTime - startTime) + "ms"); } private static int findMax(int[][] matrix) { int max = matrix[0][0]; for (int[] row : matrix) { for (int value : row) { if (value > max) { max = value; } } } return max; } }