import java.util.*; // I dette programmet feiler tidtagningen i Java7 (ikke Java 8)fordi den blir 'optimalisert bort' // Kj?r : >java FinnSumFeil 10000 (da ser man to steg i JIT-kompilering ved 40 000 og 110 000 kall) // Ved >java FinnSumFeil 180000 ser man feil ogs? i Java 8 // N.B. FJERNES kommentaren i utskriftsetningen, s? blir tidtagningen OK (fordi 'sum' brukes) class FinnSumFeil{ public static void main(String[] args){ if (args.length != 1) { System.out.println ("use: >java FinnSumFeil n"); }else { int len = new Integer(args[0]).intValue(); FinnSumFeil fs =new FinnSumFeil(); for(int k = 0; k < 20; k++){ int[] arr = new int[len]; for(int i = 0; i < arr.length; i++){ arr[i] = i; } long start = System.nanoTime(); long sum = fs.summer(arr); long timeTaken = System.nanoTime() - start ; //System.out.printf("SUM: %12d", sum ); System.out.printf(" %2d)sum av:%9d tall paa:%10d nanosec%n", (k+1), len,timeTaken); } } } // end main long summer(int [] arr){ long sum = 0; for(int i = 0; i < arr.length; i++){ sum += arr[i]; } return sum; } // end summer }