SORU
21 ŞUBAT 2014, Cuma


Neden baskı "B" baskı " daha önemli ölçüde daha yavaştır;#"?

1000 x iki matris 1000 oluşturdum:

İlk Matrix: O #.
İkinci Matrix: O B.

Aşağıdaki kodu kullanarak, ilk matrix 8.52 saniye sürmüştür:

Random r = new Random();
for (int i = 0; i < 1000; i  ) {
    for (int j = 0; j < 1000; j  ) {
        if(r.nextInt(4) == 0) {
            System.out.print("O");
        } else {
            System.out.print("#");
        }
    }

   System.out.println("");
 }

Bu kod ile, ikinci matrisin tamamlamak için 259.152 saniye sürdü:

Random r = new Random();
for (int i = 0; i < 1000; i  ) {
    for (int j = 0; j < 1000; j  ) {
        if(r.nextInt(4) == 0) {
            System.out.print("O");
        } else {
            System.out.print("B"); //only line changed
        }
    }

    System.out.println("");
}

Belirgin bir şekilde farklı çalışma saatleri ardındaki sebep nedir?


Açıklamalarda belirtildiği gibi System.out.print("#"); baskı System.out.print("B"); still printing... sağlarken 7.8871 saniye sürer.

Onlar için normal olarak çalışıyor olduğuna işaret eden diğerleri gibi, örneğin Ideone.com denedim ve kod iki adet aynı hızda çalıştırın.

Test Koşulları:

  • Eclipse bu test konsolun içine onun çıkış 7.2 koştum
  • Ölçümler için System.nanoTime() kullandım

CEVAP
22 ŞUBAT 2014, CUMARTESİ


Tamamen spekülasyonword-wrapping yerine karakter kaydırma yapmaya çalışan bir terminal kullanıyorsun ve davranır sözcük olmayan bir karakter olarak kelime bir karakter ama # B. Ne zaman ulaşır satır sonuna kadar arar ve bir yerde mola hattı, gördüğü bir # hemen ve sonsuza dek mutlu sonları var; oysa B, hadi aramaya devam edin daha uzun ve daha fazla metin için kaydırma olabilir (örneğin pahalı biraz terminalleri, örneğin, çıkış backspaces, sonra Çıkış alanları üzerine harfleri olmak sarılmış).

Ama bu tamamen spekülasyon.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Howcast

    Howcast

    4 EKİM 2007
  • READ DESCRIPTION NOW!!!!!!!

    READ DESCRIP

    18 ŞUBAT 2009
  • TV nEW

    TV nEW

    25 AĞUSTOS 2012