IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   JavaScript (https://www.ircforumlari.net/javascript/)
-   -   Javada Vector ve ArrayList Performans Karsilastirmasi (https://www.ircforumlari.net/javascript/471828-javada-vector-ve-arraylist-performans-karsilastirmasi.html)

YazılımMimarı 10 Nisan 2012 15:49

Javada Vector ve ArrayList Performans Karsilastirmasi
 
Javada, Vector ve ArrayList arasındaki farkın ne olduğunu sorulduğunda, genel olarak şunları söyleriz
Vector’un thread-safe‘dir.
Vector kapasitesi 2 kat artacak şekildedir (eğer capacityIncrement değeri verilmediyse).
ArrayList her seferinde kapasitesinin yarısı kadar ( %50) kapasitesini artırır.
Herikisi de öntanımlı olarak 10 element saklayabilecek şekilde ilklenir.
Burada¬† en çok Vector’un thread-safe özelliği öne çıkar. Yani Vector; ArrayList e göre, içindeki verinin doğruluğunu garanti eder. Hız olarak nasıl bir etkisi olduğuna ise inceleyelim.
Peki vector ve ArrayList performans olarak nasıl bir farkı vardır.
Performans karşılaştırılmasında 100.000 tane rastgele oluşturulmuş sayılar eklenip, işlem yapılmaktadır.
Ekleme İşlemi
Vector ve ArrayList e rastgele oluşturulmuş 100.000 element ekleniyor.

PHP- Kodu:

IList<IntegervectorList = new IntegerVectorListImpl();
 
IList<IntegerarrayList = new IntegerArrayListImpl();
 List<
IntegerrandomIntegers getRandomIntegers(100000);
 
long start,end;  
write("Start for inserting ARRAYLIST");
 
start System.currentTimeMillis();
 for(
Integer i randomIntegersarrayList.insert(i); 
end System.currentTimeMillis();
 
long differenceOfArrayList end -¬† start
write("ArrayList time difference :" differenceOfArrayList " ms"); write("End for inserting ARRAYLIST"); 
write("Start for inserting VECTOR"); 
start System.currentTimeMillis();
 for(
Integer i randomIntegersvectorList.insert(i);
 
end System.currentTimeMillis(); 
long differenceOfVector end -¬† start
write("Vector time difference :" differenceOfVector " ms");
 
write("End for inserting VECTOR"); 

Bu test işlemi sonucunda alınan değerler şu şekilde.
En İyi Değeri En Kötü Değeri Ortalama
Vector 29 58 36.45
ArrayList 17 30 24.9

Görüldüğü gibi ArrayList ekleme işlemlerinde daha hızlı çalışıyor.
Arama İşlemi
Bir üstteki örnekte olduğu gibi, 100.000 kayıt eklenerek, bu kayıtlar içinden bir değer aranıyor.
Kod:

IList<Integer>;
 vectorList = new IntegerVectorListImpl();
 IList<Integer> arrayList = new IntegerArrayListImpl();
 List<Integer> randomIntegers = getRandomIntegers(100000);
 long start,end; 
for(Integer i : randomIntegers)
arrayList.insert(i);
 for(Integer i : randomIntegers) vectorList.insert(i);
  Integer findObj =¬† 777;
  write("Start for search ARRAYLIST");
start = System.currentTimeMillis();
arrayList.search(findObj);
 end = System.currentTimeMillis();
 long differenceOfArrayList = end -¬† start;
 write("ArrayList time difference :" + differenceOfArrayList + " ms"); write("End for search ARRAYLIST");
  write("Start for search VECTOR");
start = System.currentTimeMillis();
 vectorList.search(findObj);
 end = System.currentTimeMillis();
 long differenceOfVector = end -¬† start;
 write("Vector time difference :" + differenceOfVector + " ms");
 write("End for search VECTOR");

Bununla ilgili sonuc şu şekilde:
En İyi Değeri En Kötü Değeri Ortalama
Vector 6 9 7.6
ArrayList 6 13 7.4

Görüldüğü gibi ArrayList vector den cok az daha hızlı arama işlemi yapabiliyor sunuz.
Sonuç Olarak
Sonuç olarak ise Vector thread-safe özelliğinden dolayı daha güvenli olduğu halde biraz yavaş çalışmaktadır. ArrayList ise daha hızlı olup, multi-thread uygulamalarda verinin doğruluğunu garanti edememektedir.



[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

toXic 10 Nisan 2012 15:53

Cevap: Javada Vector ve ArrayList Performans Karsilastirmasi
 
Kodlari daha anlaşilir taglarla eklesen daha iyiydi.

YazılımMimarı 10 Nisan 2012 16:03

Cevap: Javada Vector ve ArrayList Performans Karsilastirmasi
 
Düzeltildi.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 03:49.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk