Ne yazık ki bir iki denemeden sonra (testIterations = 1, 100, 10, 1 denemeleri) firefox 3 process ile sınırlamama rağmen neredeyse sistemi kilitledi, seamonkey'de testiterations = 1 ile bile browser kilitlendi.
testIterations = 1 olduğu durumda bile 65536 farklı koordinat için testler yapılıyor. ekranda 3 üçgen olduğu için toplam 9 kere senin yazdığın fonkisyon tetikleniyor, yani 589824 kere, yaklaşık yarım milyon kez compo.js dosyasının içindeki f fonksiyonu çağırılıyor. iteasyon sayısı yükseldikçe yarım milyon ile iterasyon sayısını çarpıyoruz. Yani 100 iterasyon dediğinde yaklaşık 59 milyon kez çağırılıyor o fonksiyon.
Peki neden o iterasyonu ekledim. Çünkü scriptin ilk çalışmasında, ilk kez kodun üzerinden geçerken ek bir yavaşlık oluyor, sonra cacheleniyor gibi düşünebilirsin. Bu nedenle örneğin İlk iterasyonda 70 milisaniye sürdüyse, ikincide 50 milisaniye sürebiliyor. Bunun için 100 iterasyonun ortalaması alınınca ilk iterasyonun yavaşlığı, bilgisayarın diğer processlerden dolayı arada yavaşlayıp hızlanması gibi şeyler sorun olmaktan çıkmaya başlıyor.
Yarışma sonuçlarını en az 1000 iterasyonla, her ihtimale karşı da birden fazla kez çalıştırarak test edeceğim. İşletim sistemi sıfır kurulmuş ve üzerinde browser dışı bir şey yüklenmemiş olacak. Hatta testleri lokalde yapıp, internet erişimini kesmeyi de düşünüyorum.
Siz test ederken aslında ilk olarak testMode = false yapabilirsiniz. Bu durumda testler bilgisayarınızı hiç yormaz. Sonucu da cursor ile alanda dolaşarak gözlemleyebilirsiniz. Kendi kısa ya da hızlı çalışan kodunuzu yazıp, bu şekilde test ettikten sonra, sonuçların doğruluğu ve hızı ölçmek için tekrar testMode = true yapıp deneyebilirsiniz. Benim önerim bu şekilde çalışmanızdır.
İlgin için teşekkür ederim, iyi eğlenceler ve başarılar.