Sayfa: [1]   AÅŸağı git
  Bu Konuyu Gönder  |  Yazdır  
Gönderen Konu: dll dosyası büyüklüğü  (Okunma Sayısı 489 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
sad_man
Üye
*****

Rep: +1/-1
Çevrimdışı Çevrimdışı

Cinsiyet: Bay
Mesaj Sayısı: 45



« : 04 Aralık 2006 18:32:02 »

Selamlar

Benim sitenin dll dosyası şimdiden 400 KB oldu. Kaldı ki sitenin yarısını anca tamamladım. Upload ederken acı çekmeye başladım. Sonradan ne olur bilmem. Bunu 2'ye 3'e bölmemin bir yolu yok mu? Site ilk açıldığında da pek bir yavaş açılıyor. Dosyanın boyutundandır diye tahmin ediyorum. Ne gibi performans ayarları yapabilirim?

İyi çalışmalar.
Logged

İzleniyoruz. Heryerde...
Delphi Kitabı
*****

Sipariş ver..
Ynt: dll dosyası büyüklüğü
« : 17 Mayıs 2008 23:38:32 »

Logged
Fatih
Kurucu Üye
*****

Rep: +39/-10
Çevrimdışı Çevrimdışı

Cinsiyet: Bay
Mesaj Sayısı: 2.080



WWW
« Cevapla #1 : 04 Aralık 2006 18:36:43 »

DLL konusuna hiç bakmadım, ama .net'in 1.1 versiyonu ilk açıldığında yavaştır. İlerki versiyonlarda bu problem biiraz aşılmıştı.
Logged

Yoksa siz hala kitabımı okumadınız mı Smile
cemaliozan
Moderator
*****

Rep: +4/-3
Çevrimdışı Çevrimdışı

Cinsiyet: Bay
Mesaj Sayısı: 231


Kodlarım, canlarım


WWW
« Cevapla #2 : 04 Aralık 2006 20:54:37 »

eskiden dll yapısını ortak yöntem ve modül kavramı olarak kullanırdık. şimdide .NET te pek değişen bir şey yok. Tasarımda ortak modül kullanımına, dinamik ve esnek parametre tasarımına dikkat edin. Ne kadar az kod o kadar çok performans demektir. Mükerrer işleri mümkün olduğunca tek bir yapı altında birleştirip, parametrelendirin. Bazen satırlarca yazdığınız kodu sonradan optimize ettiğinizde bu işi daha az satırda çözebileceğinizi görürsünüz. Yazarken görülmeyen bu mantık daha sonra benzer bir modüle ihtiyacınız olduğunda aşikar görünecektir. Ve DLL boyutunu kafaya takmayın. Bunun yerine her ne kadar .NET nesne yokedicilerini otomatik çağırsada kendi temizlik kodunuzu yazmaya, açtığınız DB. bağlantılarını zamanında kapatmaya dikkat edin.
Logged

www.teksevgi.com - Tamamı BDS 2006 ile yazıldı..

Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...
vectorman
Üye
*****

Rep: +2/-1
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 218


« Cevapla #3 : 09 Aralık 2006 02:15:20 »

arkadaşlar evet ama 400 kb dll garip ? bir kere derlendiğini ve işlemciye hazır kod sunduğunu okudum ama her giren kullanıcı 400 kb veri transferi yapmadan siteyi açamayacaksa yandık.

bunun nedeni delphi ile yazmamızdan mı kaynaklanıyor acaba? yani sadece metin editörünü açıp asp.net yazsak dll olmayacak ve performans artmayacak mı? şimdi delphinin kaynaklarından yararlanıyoruz ama böyle ciddi bir sorunda vazgeçmek durumunda kalabilir miyiz ?

aynı sorun visual studio'da var mı merak ediyorum.
Logged
sad_man
Üye
*****

Rep: +1/-1
Çevrimdışı Çevrimdışı

Cinsiyet: Bay
Mesaj Sayısı: 45



« Cevapla #4 : 09 Aralık 2006 11:46:36 »

Bence VS.NET'te de benzer bir sorun vardır. Kaldı ki orada da System.Data veya Web gibi namespaceleri include ediyorsun. Ama tabii Delphi'de durum biraz daha vahim olabilir. Şöyle ki, VS.NET ile yapılan yapılan bi siteyi Delphi kullanılarak yapmaya kalkarsan aynı kontrolleri dolayısıyla aynı namespaceleri kullanmak zorundasın. Bunun yanında Delphi'den alışkın olduğun bazı fonksiyonları (örn: FormatDateTime veya InttoStr) kullanmak için SysUtils gibi unitleri de uses'a eklemelisin. Bunlar tabi DLL'i fazladan şişiren unsurlar. Bu tip prosedür ve fonksiyonların .NET muadillerini öğrenip mümkün olduğunca Delphi unit'i kullanmamak gerek diye düşünüyorum.
Logged

İzleniyoruz. Heryerde...
vectorman
Üye
*****

Rep: +2/-1
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 218


« Cevapla #5 : 11 Aralık 2006 00:19:31 »

evet bende .net'e alışmak için mümkün olduğunca delphi modüllerinden kaçınıyorum. ama şöyle düşünmüştüm vs'de asp.net de microsoft ürünü olduğu için direkt (ve vb bir asp.net dili olarak doğrudan kullanıldığı için) yaptığımız dosyalar dllye gerek duymadan mı derlenip uyarlanıyor acaba diye? dll doysasının her seferde tamamaını kullanıcının yüklenmesini beklemesei gerektiğini söylemeyin bana çünkü en basit dll bile 100 kb oluyor.
Logged
dameon
Üye
*****

Rep: +4/-0
Çevrimdışı Çevrimdışı

Cinsiyet: Bay
Mesaj Sayısı: 167



« Cevapla #6 : 14 Aralık 2006 17:37:32 »

Merhaba.

1- Sysutils kullanmadan dll boyutu bende 100 KB iken sysutils eklenince 300 KB'yi aşıyor , sad_man arkadaşımızın dediği gibi .net muadilleri ile yapabilirsek daha az boyutlu hale geleceklerdir.

2- Senin yaptığın dll dosyasının kullanıcı ile alakası yok , yani kullanıcı senin sitene yerleştirdiğin dll dosyasını download etmiyor.Dll dosyası senin delphi ile yazdığın kodları (codebehind yani .pas dosyası) barındırıyor ve serverda çalışıp kullanıcıya göreceği sayfayı gönderiyor ve bu da doğal olarak html oluyor.Google'da site boylarına bakarsan genelde 40K , 20K , 100K gibi düşük değerler görürsün.DLL dosyasının boyutunun büyük olması senin için zor olur , çünkü kodlarda yaptığın en ufak bir değişiklikte dll dosyasını siteye upload etmen lazım , dosya büyükse yükleme işlemi de o kadar uzun sürer.

3- Eğer sadece aspx dosyada değişiklik yaptıysan (görsel açıdan) o zaman dll dosyasını siteye yüklemene gerek yok.Mesela bir resmi başkası ile değiştirdin , o zaman sadece yeni resim dosyasını ve aspx dosyasını siteye upload edersin.

Başarılar...
Logged
cemaliozan
Moderator
*****

Rep: +4/-3
Çevrimdışı Çevrimdışı

Cinsiyet: Bay
Mesaj Sayısı: 231


Kodlarım, canlarım


WWW
« Cevapla #7 : 15 Aralık 2006 00:50:25 »

ASP.NET mimarisine güvenin, gerisini merak etmeyin. Smile Mümkün olduğunca .NET kütüphanesini kullanmaya özen gösterin. Ancak bildiğim kadarıyla .NET mimarisinde özel bir işleyiş mekanizması mevcut. Eğer daha önce delphi ile ISAPI uygulaması geliştiren varsa ne demek istediğimi daha iyi anlayacakdır. Bunu delphide uses bildirimi ile linker ettiğiniz ancak kullanmadığınız unit bağlamalarının compiler sırasında delphi tarafından dikkate alınmamasınada benzetebilirsiniz.

  ASP.NET DLL dosyası bir başlangıç giriş noktasına sahiptir. Derleme esnasında tüm giriş noktaları özel olarak işaretlenir. İşaretlemeye uygun çağırımlara görede ilgili bellek yönetim mekanizmaları devreye girer. Yani bildiğimiz DLL mekanizmasından biraz farklı bir çalışma semantiği var. Win32 uygulamalarında DLL'in tamamı memory stack bölgesine yerleştirilirken, .NET bunun için giriş anahtarlarını kullanır. Yani icab etmiyorsa DLL'in tümü bir uzay adresine yüklenmez. Daha doğrusu DLL yüklenir ama bellek denetçileri iş başındadır. Sadece çalıştırılacak başlangıç kısımları ilk seferde yüklenir. Mütakip seferlerde zaten iyi bir bellek yönetimine sahip olan .NET kontrolu tamamen ele alır ve sunucuyu en az yoracak şekilde çalışmaya gayret eder.   
Logged

www.teksevgi.com - Tamamı BDS 2006 ile yazıldı..

Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...
vectorman
Üye
*****

Rep: +2/-1
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 218


« Cevapla #8 : 15 Aralık 2006 10:11:42 »

teşekkürler arkadaşlar. iyi bir bilgi oldu bu.
Logged
Sayfa: [1]   Yukarı git
  Bu Konuyu Gönder  |  Yazdır  
 
Gitmek istediÄŸiniz yer: