Alıntı:
>D'ye C++'tan gelmiş birisi olarak ben de baştan çöp toplayıcıdan şüyheliydim ama kullandıkça bunun hiçbir etkisi olmadığını gördüm. Rahatça sorunumu çözüyorum, sonra dmd'nin -profile=gc komut satırı seçeneğiyle en fazla nerede bellek ayırdığımı bulup bir iki noktayı düzeltiyorum; program hızlanıyor. std.parallelism ve std.concurrency modüllerinden de yararlanınca ortaya çok hızlı işleyen programlar çıktı. :)
Su -profile=gc 'den ben hic mi hic fayda alamadim.
Vibe.d 'de garip bellek sizintilari var bundan eminim artik cunku benim sorunum vibe.d 'yi birakip arsd'i kullaninca gecti. Artik sizinti olmuyor. Sizintilari bulabilmek icin -profile=gc 'yi denedim fakat program o kadar yavasladiki normalden 100 kat veya 120 kat yavas calismaya basladi. Bunu surdan biliyorum normalde her saniye calisan 'update loop' 1-5 dakikada bir calismaya basladi .
Sorun bellek sizintisi uzun zaman calisinca oluyordu ve atiyorum 50mb gibi birset siziyordu her 3-4 saatte bir. Simdi 100 kat yavaslayinca program bellek sizintisi icin cokkkkkk beklemek gerekti insan omrude ne yazikki sinirli :) .
Her neyse ben kullanamadim bu opsiyonu ama soyle guzel bir sey oldu ben dellenince Arsd'nin yazarini Adam Luppe'ye yazdim dedim ki kucuk bir butcem var Arsd 'ye web-socketleri eklermisin. Oda sagolsun lafimi olur dedi para almadan yapiverdi. Onun yaptiklari bende test ettim. Su anda sanki her sey calisiyor en azindan bellek sizintisi bitti. Sadece web-socket'ten mesajlar cok gelince Arsd biraz sasiriyor ama olsun.
Sonuc olarak -profile=gc 'yi basarili olarak kullanma ornegini biraz daha acarsan bence faydali olur Ali Abi.
Erdem
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]