How DLL size affect performance on .NET application?

  • Thread starter Igor Mitic via .NET 247
  • Start date
I

Igor Mitic via .NET 247

When I work on my applications (N-tier, Web or Windows)I alwaysuse typed datasets.
In the beggining i would put all typed datasets (usually 20-40)
in one project called Common(it is architecture that Microsoftuses in Duwamish solution).
So result is one dll with all Datasets in it. ONE BIG DLL.
First question? Can I split one project in more that oneassembly?

Now I put Datasets in two projects. I have Presentation datamodel with Datasets that correspond to Web or Windows form (and1 use case), and Conceptual data model with Datasets thatcorrespond usually to one table in relational database.
In the middle tier I make transformation between those Datasets.That is good solution to separate Logical and physical tier ofyour application.

So my final question? Dll containing my Datasets can be 2-3 Mblarge. How that affect my application?
Does Win exe file of ASP.NET Web form must load all dll file inmemory if it needs only one part of it?
You get my point. If it reduces performance then I shouldseparate those datasets in smaller parts.
I am working now on ASP.NET project with Access DB, and when I ambrowsing pages, somehow I got feeling that my computer alwayswork hard to display me data. And when I want Crystal Report todisplay, oh no! I have to wait half minute (but only firsttime). With Flash same thing. I have 1.8 Celeron and 256Mb RAM.
Thanks in advance
 
A

Anubhav Mishra

The size of the dlls does not matter, as the CLR loads it as required, in
fact the number or more dlls you have an overhead of some KB for each dll, I
am not able to recollect the size,

As I understand the problem is not the size of the dll it is the size of
the datasets. dont think you should be having a huge dataset in ASP.net
application.

When I work on my applications (N-tier, Web or Windows)I always use typed
datasets.
In the beggining i would put all typed datasets (usually 20-40)
in one project called Common(it is architecture that Microsoft uses in
Duwamish solution).
So result is one dll with all Datasets in it. ONE BIG DLL.
First question? Can I split one project in more that one assembly?

Now I put Datasets in two projects. I have Presentation data model with
Datasets that correspond to Web or Windows form (and 1 use case), and
Conceptual data model with Datasets that correspond usually to one table in
relational database.
In the middle tier I make transformation between those Datasets. That is
good solution to separate Logical and physical tier of your application.

So my final question? Dll containing my Datasets can be 2-3 Mb large. How
that affect my application?
Does Win exe file of ASP.NET Web form must load all dll file in memory if it
needs only one part of it?
You get my point. If it reduces performance then I should separate those
datasets in smaller parts.
I am working now on ASP.NET project with Access DB, and when I am browsing
pages, somehow I got feeling that my computer always work hard to display me
data. And when I want Crystal Report to display, oh no! I have to wait half
minute (but only first time). With Flash same thing. I have 1.8 Celeron and
256Mb RAM.
Thanks in advance
 
R

Rick Strahl [MVP]

Hi Igor,

This all sounds like a very unoptimized environment using all the resource
hogging tools that are likely to give you this slow performance.

Access DBs are slow and resource intensive. Crystal Reports is a pig. 2-3 MB
of data in a data set is a lot of data to create espaceially on a relative
low power machine like a 1.8ghz celeron with 256 megs. This will be
especially true for first load, running under debug mode...

My guess the real culprit is likely Crystal reports. I suggest you test and
run this same report without the report outptu and see how this affects the
performance issues you're seeing.

+++ Rick ---

--

Rick Strahl
West Wind Technologies
www.west-wind.com
www.west-wind.com/weblog



When I work on my applications (N-tier, Web or Windows)I always use typed
datasets.
In the beggining i would put all typed datasets (usually 20-40)
in one project called Common(it is architecture that Microsoft uses in
Duwamish solution).
So result is one dll with all Datasets in it. ONE BIG DLL.
First question? Can I split one project in more that one assembly?

Now I put Datasets in two projects. I have Presentation data model with
Datasets that correspond to Web or Windows form (and 1 use case), and
Conceptual data model with Datasets that correspond usually to one table in
relational database.
In the middle tier I make transformation between those Datasets. That is
good solution to separate Logical and physical tier of your application.

So my final question? Dll containing my Datasets can be 2-3 Mb large. How
that affect my application?
Does Win exe file of ASP.NET Web form must load all dll file in memory if it
needs only one part of it?
You get my point. If it reduces performance then I should separate those
datasets in smaller parts.
I am working now on ASP.NET project with Access DB, and when I am browsing
pages, somehow I got feeling that my computer always work hard to display me
data. And when I want Crystal Report to display, oh no! I have to wait half
minute (but only first time). With Flash same thing. I have 1.8 Celeron and
256Mb RAM.
Thanks in advance
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top