SORU
18 Aralık 2013, ÇARŞAMBA


Kıyaslama - neden ikinci döngü daha hızlı Java?

Bu konuyu merak ediyorum.

İşlevi daha hızlı, küçük bir kod oluşturabilirim bu yüzden kontrol etmek istedim ve bir çok kez uyguladım.

public static void main(String[] args) {

        long ts;
        String c = "sgfrt34tdfg34";

        ts = System.currentTimeMillis();
        for (int k = 0; k < 10000000; k  ) {
            c.getBytes();
        }
        System.out.println("t1->"   (System.currentTimeMillis() - ts));

        ts = System.currentTimeMillis();
        for (int i = 0; i < 10000000; i  ) {
            Bytes.toBytes(c);
        }
        System.out.println("t2->"   (System.currentTimeMillis() - ts));

    }

"Döngü daha hızlı, hadoop gelen Bayt sınıfı String sınıfından. işlevi daha hızlı olduğunu düşündüm" ikinci Sonra, döngüler sipariş ve c sonra değiştirdim.() getBytes var daha hızlı. Birçok kez uyguladım, ve sonuç, neden bilmiyorum, ama bir şey ilk kod sonra benim VM bunun sonuçlarını ikinci döngü için daha hızlı olması yürütmek.

CEVAP
18 Aralık 2013, ÇARŞAMBA


Bu klasik java kıyaslama bir konudur. /Etc Fi/JİT kullanmak gibi kod derleme olacak, daha hızlı çalışması sırasında alır.

En az 3000 kez döngü (64 bit bir sunucuda veya 10000) ilk çalıştırma etrafta ölçümleri yapın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 3dmmfavs

    3dmmfavs

    29 Kasım 2009
  • DJAndrewRyan

    DJAndrewRyan

    22 Ocak 2007
  • lilstevie89

    lilstevie89

    25 Mart 2011