Merhaba,
D runtime nedir? Ne amaçla kullanılır? Nasıl çalışır ve oluşturduğumuz D programlarının neresinde yer alır?
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]
| Thread overview | |||||||||
|---|---|---|---|---|---|---|---|---|---|
|
February 27, 2017 D Runtime nedir? | ||||
|---|---|---|---|---|
| ||||
Merhaba, -- | ||||
February 27, 2017 D Runtime nedir? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli (acehreli) | Peki, DRuntime bizim D ile oluşturduğumuz çalıştırılabilir dosyaların içine mi yerleşiyor? Runtime kodlarını derleyici otomatik olarak mı ekliyor? -- | |||
February 27, 2017 D Runtime nedir? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to zafer | Her dilde bir runtime var. Kodları programın çalışması sırasında destekleyen kodlara deniyor. D'dekiler şunlar:
Onları kafadan yazdım. Referans olarak, tam proje şurada: https://github.com/dlang/druntime Ali -- | |||
February 27, 2017 D Runtime nedir? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to zafer | Evet ve evet. :) Bu da gömülü sistemlerde D kullanmak isteyen kişiler için program boyutu açısından sorun oluşturuyor. Druntime'ı programdan çıkartmak için farklı yöntemler deneyenler var:
Sonuçta kısıtlı da olsa D kullanabiliyorlar. Ben bundan fazla ayrıntısını bilmiyorum ama kısa süre önce Reddit'te bir tanesinin blogu çıkmıştı: https://www.reddit.com/r/programming/comments/5ug222/bios_boot_to_d/ EK: Aslında o blogun bir önceki yazısı konuyla daha ilgili. Druntime'ın programdan çıkartılmasını anlatıyor: https://theartofmachinery.com/2016/12/18/d_without_runtime.html Ali -- | |||
June 11, 2017 D Runtime nedir? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli (acehreli) | Merhaba Ali hocam, Verdiğin cevaplar gerçekten de bir hoca edasıyla şekillenip bizlere ulaşıyor. Sakın "aman estağfirullah canım" deme burada mütevaziliğe gerek yok, süpersin hocam :) Dolaylı da olsa bu konuyu şu güncel "Web sayfasından uygulama çalıştırmak (http://ddili.org/forum/post/12626)" başlığı ile ilgili olduğu için araya iliştirmek istiyorum. D'yi ben de çok sevenler arasındayım ve şu an benim için hobi olsa da bundan para kazanmak isterdim ya da boş iş imkanları açarak kazandırtmak... Ama şu run-time, bizi kısıtlı sunucu imkanlarıyla zorlayabilir. Yani D'de küçük bir uygulama yazsak bile hafızada bunun çalışır ve etkin şekilde kalabilmesi için fazlan sistem kaynağı demek oluyor. Bir sitenin ziyaretçisi arttıkça bu anlık her kullanıcı için dehşet miktarda hafıza demek. Belki çözüm PHP ve Perl gibi script dillerinde olduğu gibi çıktı üreten birden fazla JSON veya DUB dosya olması ve bunları yorumlayan tek executable dosya çalışması. Ne dersiniz? Sevgiler, saygılar... -- | |||
June 12, 2017 D Runtime nedir? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | Ama D programı sunucu olarak çalıştığında her kullanıcı için ayrı başlatılmıyor. Her kullanıcı açık porttan giriyor, her kullanıcıya haberleşmeye devam edilecek ayrı bir port veriliyor ve tek sunucu hepsini idare ediyor. Söylediğin CGI yöntemi için geçerli ama o durumda bile işletim sistemi kullanılan bellek sayfalarını paylaştırıyor. Örneğin, 100 D programı çalışıyor diye druntime bellekte 100 farklı yere kopyalanmıyor. Sözde 100 farklı druntime oluyor çünkü her program kendi druntime'ına sahip olduğunu sanıyor ama aslında yer kaplama açısından tek yer harcanıyor. Bunu söylerken druntime'ın kodlarından bahsediyorum çünkü her programın çöp toplayıcısı kendine ait bellek sayfaları kullanıyor. Ama dediğim gibi, bu CGI yönteminde geçerli. Tek sunucu olduğunda değil. Öte yandan haklı da olabilirsin. Ben de kendi deneyimim üzerine konuşmuyorum. Başkalarının yaptıklarına bakıyorum. Ali -- | |||
June 22, 2017 D Runtime nedir? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli (acehreli) | Bir VPS'e SSH ile bağlanıp web sunucusunu kapamadan başka porttan deneme yapılabilir sanırım. Sonra diğer sunucu kapanıp yükü D programına vermemiz durumunda bu web sitesini taşır mı denemek lazım. -- | |||