Advertisement
Cililing

Untitled

Oct 1st, 2022
976
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.61 KB | None | 0 0
  1.     @Test
  2.     void test() {
  3.         var arr10M = IntStream.range(0, 10_000_000).toArray();
  4.  
  5.         var standard = new ArrayList<Long>();
  6.         for (int tryNo = 0; tryNo < 100; tryNo++) {
  7.             var skipped = 0;
  8.             var time = System.currentTimeMillis();
  9.             for (int i = 0; i < arr10M.length; i++) {
  10.                 skipped += arr10M[i];
  11.             }
  12.             standard.add(System.currentTimeMillis() - time);
  13.         }
  14.  
  15.         var staticLength = new ArrayList<Long>();
  16.         for (int tryNo = 0; tryNo < 100; tryNo++) {
  17.             var skipped = 0;
  18.             var size = arr10M.length;
  19.             var time = System.currentTimeMillis();
  20.             for (int i = 0; i < size; i++) {
  21.                 skipped += arr10M[i];
  22.             }
  23.             staticLength.add(System.currentTimeMillis() - time);
  24.         }
  25.  
  26.  
  27.         var ex = new ArrayList<Long>();
  28.         for (int tryNo = 0; tryNo < 100; tryNo++) {
  29.             var skipped2 = 0;
  30.             var time2 = System.currentTimeMillis();
  31.             try {
  32.                 for (int j = 0; ; j++) {
  33.                     skipped2 += arr10M[j];
  34.                 }
  35.             } catch (IndexOutOfBoundsException exx) {
  36.             }
  37.             ex.add(System.currentTimeMillis() - time2);
  38.         }
  39.  
  40.         System.out.printf("standard=%.4f\nstaticLength=%.4f\nexception=%.4f\n",
  41.                 standard.stream().mapToDouble(x -> x).average().getAsDouble(),
  42.                 staticLength.stream().mapToDouble(x -> x).average().getAsDouble(),
  43.                 ex.stream().mapToDouble(x -> x).average().getAsDouble()
  44.         );
  45.     }
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement