tahamucasiroglu adlı üyeden alıntı

kodu ekledim ama sorum daha çok genel olarak yani herhangi bir durumda nasıl daha performanslı yapılır.


Genel olarak OOP öğrenmen gerek ama hakkıyla öğenmelisin ki gördüğün her söküğü dikebilirsin, spagetti ile hep yarı yolda kalırsın.

Koduna baktığımda çok basit bir mantık hatası gördüm,

setInterval(function(){
date = new Date();

h = date.getHours();
m = date.getMinutes();
s = date.getSeconds();
ms = date.getMilliseconds();

h = saat(h);
m = saat(m);
s = saat(s);
ms = msaat(ms);

tarih=h+":"+m+":"+s+":"+ms;

document.getElementById("taha").innerHTML=tarih;
},1)


en son satırda interval 1 ms ayarlanmış. 1 milisaniyelik hassaslıkta ne yapıyorsun? Eğer atomik hesaplamalar vs yapmıyorsan 1ms tabiki çok yüksek işlem gücü gerektirir. Bizim için 1 saniye makine için 1000ms demek. Yani yukardaki kod her saniye yaklaşık olarak 1000 kere çalışıyor. Ayrıca bu 1000 kere çalışan bloğun içinde new Date(); demişsin, yine çeşitli fonksiyonlar çalıştırmışsın.

Eğer ms değerine ihtiyacın varsa 250 ms gibi daha makul bir interval seçersen hem makineyi daha az yorarsın hem de 250ms gecikmeyi insan gözü pek algılayamaz zaten.