Basit bir belgeyi veya web sayfasını açarken eski güzel günleri hatırlayın, çünkü bilgisayarınızdaki tüm yetersiz kaynakları barındırıyordu? Ve bugün, işlemciniz yüzlerce kez daha hızlı olmasına ve binlerce kat daha fazla belleğe erişmesine rağmen, aynı şeyi yapmak daha yavaş mı?
Mevcut belge görüntüleyicilerde ve benzer uygulamalarda şişkinliğin etkisini simüle etmek için , daha güçlü makinelerde çalışırken görünür performans sorunları olan bir program yazın .
Herkes için ortak bir göreve sahip olmak, onu asal sayı üreteci yapmak .
- Program, 2'den başlayarak, her biri yeni bir satırda ve başka bir şey olmadan ardışık asal sayıları yazdırmalıdır. Bunu sonsuza kadar (veya hafızası bitene kadar) yapmalıdır. Bunun gibi:
2 3 5 7 11 13 17
Her satırın yazdırılması arasında bir insan tarafından algılanabilecek kadar bir gecikme olmalıdır.
Programın çalıştığı makine hızlandıkça bu gecikme daha uzun olmalıdır. Makine ne kadar hızlı olursa, program o kadar yavaş olur.
Sübjektif hale gelebileceğinden kesin ölçütleri belirtmeyeceğim, ancak iki makinenin performansı arasında önemli bir fark varsa, iki farklı makinede insan tarafından algılanabilir bir fark olmalıdır.
Programın hızı, şimdiye kadar oluşturulan tüm mevcut makinelerde monoton olarak azalmak zorunda değildir. Bunu belirtmek zor ve hatta doğrulamak daha zor olurdu. Yarışmacılar arasında, makineler arasında önemli ölçüde farklı bir performans olarak neyin dikkate alınabileceğine dair sağduyuya güveniyorum ve bunu tatmin etmek yeterli.
Ayrıca tam üst veya alt zaman sınırları belirtmeyeceğim, ancak makul sınırlar altında olmalıdır, bu nedenle iki satır yazdırmak için lütfen günler veya yıllar yok.
Eniac'tan günümüze kadar her şeyde çalışmasını gerektirmeyeceğim, ancak yeterince genel olmalı, örneğin, sadece iki belirli CPU türünde çalıştığını ve spesifik olarak belirli bir CPU'nun adını algıladığını söylemeye izin verilmiyor üzerinde daha yavaş veya daha hızlı çalışacaktır.
Kod derleyici veya yorumlayıcı sürümüne dayanmamalıdır. Derleyicinin / yorumlayıcının aynı sürümü hem daha yavaş hem de daha hızlı bir makineye yüklenmişse veya ikili / bayt kodu bir makinede derlenmiş ve daha sonra iki farklı makinede çalıştırılmış olsa bile çalışmalıdır.
Lütfen programınızın çalışma prensiplerini açıklayınız. Sonuçların yeniden üretilmesi zor olacağından, cevabın geçerliliği yöntemin uygulanabilirliğine bağlı olabilir.
Ben bir underhanded yarışma olmak isterdi, ne yazık ki bu site artık "Programlama Bulmacalar ve Kod Golf" ama sadece basitçe "Kod Golf", bu yüzden en kısa kod kazanır.