Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Test
- void test() {
- var arr10M = IntStream.range(0, 10_000_000).toArray();
- var standard = new ArrayList<Long>();
- for (int tryNo = 0; tryNo < 100; tryNo++) {
- var skipped = 0;
- var time = System.currentTimeMillis();
- for (int i = 0; i < arr10M.length; i++) {
- skipped += arr10M[i];
- }
- standard.add(System.currentTimeMillis() - time);
- }
- var staticLength = new ArrayList<Long>();
- for (int tryNo = 0; tryNo < 100; tryNo++) {
- var skipped = 0;
- var size = arr10M.length;
- var time = System.currentTimeMillis();
- for (int i = 0; i < size; i++) {
- skipped += arr10M[i];
- }
- staticLength.add(System.currentTimeMillis() - time);
- }
- var ex = new ArrayList<Long>();
- for (int tryNo = 0; tryNo < 100; tryNo++) {
- var skipped2 = 0;
- var time2 = System.currentTimeMillis();
- try {
- for (int j = 0; ; j++) {
- skipped2 += arr10M[j];
- }
- } catch (IndexOutOfBoundsException exx) {
- }
- ex.add(System.currentTimeMillis() - time2);
- }
- System.out.printf("standard=%.4f\nstaticLength=%.4f\nexception=%.4f\n",
- standard.stream().mapToDouble(x -> x).average().getAsDouble(),
- staticLength.stream().mapToDouble(x -> x).average().getAsDouble(),
- ex.stream().mapToDouble(x -> x).average().getAsDouble()
- );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement