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

  • eurotuner

    eurotuner

    6 Mart 2006
  • FrameCityJackal

    FrameCityJac

    4 Aralık 2010
  • TechRax

    TechRax

    21 EYLÜL 2009