Android Programjaim

Android, Flutter/Dart, Kotlin, Java, Unity, HarmonyOS

Android List performance test

2011. december 30. 10:24 - lacas8282

  1.                                 PerformanceTimer timer=new PerformanceTimer();
  2.                                 timer.start();
  3.                                
  4.                                 final int n=10000;
  5.                                
  6.                                 List<String> alist=new ArrayList<String>(n);
  7.                                 for (int i=0; i<n; i++) {
  8.                                         alist.add("asd");
  9.                                 }
  10.                                 timer.getValue("ArrayList " +n+" items took ");
  11.                                
  12.                                 timer.start();
  13.                                 List<String> blist=new LinkedList<String>();
  14.                                 for (int i=0; i<n; i++) {
  15.                                         blist.add("asd");
  16.                                 }
  17.                                 timer.getValue("LinkedList " +n+" items took ");
  18.                                
  19.  
  20.                                 timer.start();
  21.                                 String[] clist=new String[n];
  22.                                 for (int i=0; i<n; i++) {
  23.                                         clist[i]="asd";
  24.                                 }
  25.                                 timer.getValue("Array " +n+" items took ");
  26.  
  27.  
  28. //eredmények
  29.  
  30. 12-30 10:17:20.433: E/PerformanceTimer(2069): 3 ms : ArrayList 1000 items took
  31. 12-30 10:17:20.433: E/PerformanceTimer(2069): 1 ms : LinkedList 1000 items took
  32. 12-30 10:17:20.433: E/PerformanceTimer(2069): 0 ms : Array 1000 items took
  33.  
  34. 12-30 10:16:29.683: E/PerformanceTimer(1999): 2 ms : ArrayList 10000 items took
  35. 12-30 10:16:29.703: E/PerformanceTimer(1999): 19 ms : LinkedList 10000 items took
  36. 12-30 10:16:29.707: E/PerformanceTimer(1999): 0 ms : Array 10000 items took
  37.  
  38. 12-30 10:17:54.152: E/PerformanceTimer(2106): 34 ms : ArrayList 100000 items took
  39. 12-30 10:17:54.437: E/PerformanceTimer(2106): 286 ms : LinkedList 100000 items took
  40. 12-30 10:17:54.507: E/PerformanceTimer(2106): 66 ms : Array 100000 items took
Android/Java hangsúlyozom: samu galaxy s1

ArrayList, LinkedList vagy a sima Array a gyorsabb?

Végeredményben:

nagyon randomak az eredmények:

összeségében nagyobb elemszámokra a fixed ArrayList teljesít jobban, utána jön az Array
kisebb elemszámokra általában az Array gyorsabb bár néha az ArrayList kerekedik sebességben felül.

 

komment
süti beállítások módosítása