Şimdi Ara

Div mi, Table mı Kullanmalı ?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
776
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar!

    Son zamanlarda birçok yerde tablolar çok yavaş bunun yerine div kullanımalı gibi yazılar görüyorum. Bende merak ettim ve basit bir test yapmaya karar verdim.

    Test gayet basit, php`nin microtime() fonksiyonuyla sayfanın başından sonuna kadar geçen zaman hesaplanıyor. Yani tarayıcının sayfayı işleme zamanı.
    Bu tabi sunucunun ve php`nin hızını da veriyor ama onlar zaten sabit.

    Testti kendi bilgisayarımda (localhost) gerçekleştirdim, yani sunucudan veya internetten kaynaklanan bir yavaşlık söz konusu değil.

    3 testtimiz var, birinde satır ve hücreler div ile oluşturulup style ile şekillediriliyor.
    İkinci de klasik table tr ve td üçlüsü ile tablo oluşturuluyor.
    Üçüncüsünde ise içiçe 5 adet tablo oluşturdum.

    Tüm sayfalarda for döngüsü ile 1000 satır oluşturuluyor.
    Bu tablo için bin tane <tr><td></td><td></td></tr>
    div içinse bin adet <div><div></div><div></div></div> anlamına geliyor.


    Testleri hem internet explorer 6.0; hem de Firefox 2.0.0.3 ile gerçekleştirdim. Sonuçlar gerçekten çok ilginç:

    5 tablo içiçe
    • FF = 0.01737 sn.
    • ie = 0.00385 sn.


    Tek tablo ile
    • FF = 0.01853 sn.
    • ie = 0.00379 sn.


    <div> ile
    • FF = 0.08563sn.
    • ie = 0.00413sn.


    7 farklı DOCTYPE yapısı ile ve DOCTYPE olmadan da denemeler yaptım ama onlar sayfalamayı çok az etkilediği için o sonuçları yazmadım. Her testi yaparken aynı sayfayı 4-5 defa yeniledim ve çıkan en düşük saniyeyi yazdım. Ayrıca php ile döngü kullanmadan bin satırı yazarakta denedim sonuçları etkilemedi.

    Buradan, ne yazıkki Firefox`un özellikle div kullanılan sayfalarda çok yavaş çalıştığı ortaya çıkıyor. internette gezinirken bazı yoğun içerikli sayfalarda çok yavaşladığını ve işlemciye çok yüklendiğini daha öncede fark etmiştim. Hatta bazı sayfalarda bağlantıları tıklarken anlık donmalar bile oluyor.

    Ayrıca div`in tablolardan daha hızlı değil, tam aksine daha yavaş olduğu ortaya çıkıyor; Özellikle firefox`da, div 4.9 kat daha yavaş).

    isteyenler sayfaları alttaki bağlantıdan indirip bakabilirler

    http://tkursu.kayyo.com/div-table.zip

    Umarım herkese yararı dokunur...



    < Bu mesaj bu kişi tarafından değiştirildi Adem YILMAZ -- 28 Nisan 2007; 4:14:47 >







  • i.e 6 gerçekten hızlı bir tarayıcıydı. firefox yavaş mı bilemiyorum ? bunun kesin ispatı daha fazla veri gerektirir.
    ama ie sadece web tarayıcıdr firefox herşeydir.
  • JavaScript ile denedim daha da ilginç sonuçlar çıktı.

    JavaScript döngüsü ile 5000 (beş bin) satır bastırdım, sonuçlar aşağıda.

    Yalnız özellikle div o kadar uzun sürdü ki, kronometre ile ölçtüm, tam olarak 7 saniye sürdü ve işlemciye tam yüklendi. İki tarayıcıda da 7 saniye sürdü ama sonuçlarda çok daha düşük gözüküyor, belkide fonksiyondan kaynaklanıyordur. Tablo testi ise yine kronometre ile ölçünce 1,5 sn civarı.


    Tablo ile

    • FF = 953 ms. ( 0.95300 sn. )
    • ie = 344 ms. ( 0.34400 sn. )


    <div> ile

    • FF = 969 ms. ( 0.96900 sn. )
    • ie = 297 ms. ( 0.29700 sn. )


    5000 satır div ve tabloyu php ile de deneyince, div 7 kat daha yavaş çıktı.
    Testi yaptığım kodları aşağıdaki bağlantıdan indirip sizde tarayıcınızda deneyebilirsiniz.

    http://tkursu.kayyo.com/java-div-table.zip



    < Bu mesaj bu kişi tarafından değiştirildi Adem YILMAZ -- 28 Nisan 2007; 19:38:37 >




  • Tablo yerine Div kullanılması gerektiği browser icin daha kolay oldugundan degil de Tablonun yapısı gereği tabular veri icin yapılmış oldugundan kaynaklanıyor.

    Bunun gibi farklı siteye link atma, iframe kullanma gibi eski alışkanlıkların da kullanılmaması öneriliyor.

    Bu arada güzel bir çalışma yapmışsın. Eline sağlık.
  • Umarım yanlış anlaşılmam. Amacım hatanızı bulmak değil @Adem YILMAZ arkadaşım. Sadece yanlış fikire kapılmanızı engellemek. Bildiğiniz gibi PHP server tarafında çalışan bir script dil. Yani burda yapacağınız ölçüm, size sadece sayfanın sunucu tarafında üretilme hızını verecektir. Tarayıcıda sayfanın yüklenme hızını değil... Gerekli hızı ölçmek için javascript tam bir çözüm sunmasa bile daha doğruya yakın bir sonuç üretecektir.
    İkinci bir husus ise içerik... Çok fazla satır ve sutundan oluşan bir tablomuz var ise ie bunu tamamen yükleyip hesapladıktan sonra sunacaktır. ff ise satır satır işleme koyar. (Bu da aralarındaki sayfayı görüntüleme hızını açıklıyor.) Yani ie tabloyu sunuma hazır olana kadar görüntülemiyor. Gerçeğe yakın bir sonuç elde etmek isterseniz size tavsiyem çok fazla satır-sutun kullanıp o şekilde denemeniz ve tablo içeriklerinin de resim ve yazı ile dolu olması...
    Tablo yerine div kullanılması hususuna gelince... Bu, ie'nin ff gibi davranmasını sağlamamıza yardımcı oluyor. Yani tag sonu işaretini alır almaz hesaplıyor ve sunuyor. Daha sonra, sonraki kısıma geçiyor.




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.