Posted By: john259 | May 10th, 2004 @ 8:11 AM
page 1 of 1
Comments: 17 | Views: 6688
The download for .Net Framework is about 24MB (twenty-four megabytes). Please can anyone explain why it is so huge? As someone who remembers the Commodore PET, where the operating system and the BASIC interpreter together fitted in 4KB (four kilobytes), how can a mere extension to the operating system possibly be 24MB (and that's compressed)? I'm curious to learn the reason. John
Well, of course modern systems are partitioned in a very generous way (the data structures alone are much more wasteful) and don't forget that the PET didn't have a real operating system, and the interpreter did not much more than basic flow control and peek/poke commands.

The .Net Framework is certainly not optimized for filesize in the first place (I may be wrong), but the sheer amount of functionality is just huge, almost too much for a single developer brain to keep all the features in RAM. There's tons of code in there. Of course, you can always optimize for space but sometimes the cost of doing so exceeds the usefulness of the idea. Bandwidth and storage gets cheaper by the month, anyway!

For the sake of comparison, you could take a look at the Mono project, an implementation of a compatible framework, it's smaller than Microsoft's if I remember correctly. But then again, I doubt that it is as feature-rich as .Net.
BradA
BradA
Making WinFX rock!

I agree that the size is an issue -- we are working on that for Whidbey.  If you check out the preview you will see that the redist is a a good bit smaller... the cool thing is we did that at the same time we added lots of new functionality.

The other thing we are working on is making the .NET Framework more widely available via Windows Updates, OEMs, 3rd party apps, etc.

This post seems a little strange. The .NET redistributable contains the CLR runtime, extensions for ASP.NET, Configuration plugins for the control panel, as well as the entire foundation classes. As far as RSS aggregators.. maybe you are reffering to the frameworks XML classes. If you are interested in what the framework currently offers take a look at the class library reference
Does Whidbey go anywhere to addressing the huge memory consumption of running .Net applications?

Visual Basic 6 - 6MB
C++ MFC - 3MB
.Net - 9MB

jkirwan
jkirwan
carpe fermentum
John,

I think this page sums it up nicely. Sure, there's a little marketing babble in there, but I think it does a pretty good job of describing what exactly the Framework is.
saj
saj

Now the redistributable for the desktop is quite normal compared to the jdk ..

Is it possible to customise what parts we could instal say on a pocket pc.. does the compact edition support this ..

i might not want a particular BCL for the app and it could be quite a large assembly thats not needed.

Like when selling a device with a custom app.. why should the whole framework be installed .

amg
amg
I'd love to see the .NET Framework rolled-in to XP SP2. =)
eddwo
eddwo
Wheres my head at?
At the moment the .Net framework installer is included on the SP2 install discs, but it is not installed by default.
If the SP2 discs become widely available, like AOL discs etc, then it shouldn't be too difficult for most people to find it on a nearby CD rather than having to download it.
The framework is preinstalled in TabletPC, Media Center and Server 2003. Personally I so no reason why it shouldn't be preinstalled with SP2, at least on new machines sold with XP SP2 included.

It's important to remember its a one-time only thing, once you have it installed it opens up a whole range of new applications, and will actually make the install packages smaller since a lot of the functionality is included in the framework.
However this is not much comfort if all you want to destribute a small shareware app to a userbase that does not have it installed.

Of course for longhorn the problem disappears altogether since it is an integral part of the platform, but most people won't want to wait that long to start developing programs that run on it.
SMac
SMac
"Hey Baby...I'm extremely well encapsulated."
OT.. but why is Fedora so big? http://download.fedora.redhat.com/pub/fedora/linux/core/1/i386/iso/

3CDs and it doesn't even play MP3s?
john259 wrote:
However, it page assumes that the reader know what a web service is. [...]  if you asked a hundred ordinary home computer users, my feeling is that only a very small number would have heard of the term and hardly any would know what it meant.


Even worse, John: major decision makers at large companies that think they know what it is because they understand the two words "web" and "service". The hype was just ridiculous. Everyone was into building Web Services as if was a magic wand.

/Lars.
Andrew Davey
Andrew Davey
www.aboutcode.net
I am less concerned about 20MB of hard disk space or the Net bandwidth to download it. What really worries me is that SharpReader is currently using 44MB of RAM! Hmm, no problem I've got 512MB in total. However, as more and more apps are written in .NET won't this become an issue when running lots at once? I admit I am pretty much clueless about side-by-side assemblies, etc. maybe someone can put me straight?
amg
amg
Don't worry...the 64-bit world is coming...where can pass that 2GB RAM barrier... Wink
I believe that the .NET runtime is greedy, in the sense that as long as you have memory available, it will keep objects around in case it can reuse them. As the memory demands from the system go up, more objects are released to accomodate. Does anyone know the details on this, garbage collection etc?
From what I understand, the above poster is correct.  If the cLR finds that you have 400MB of memory not in use, it will use as much as it reasonably can to keep performance up.  As the amount of available memory decreases (say, you load up Photoshop with a bunch of images), you'll see the .NET app free up resources that it doesn't really need.

Ideally this should have no adverse affect on system performance, and should make .NET apps perform better than if they did not use this "greedy" method of memory allocation.

Also, keep in mind that memory usage as reported by Task Manager is not truly accurate.  Much of what an app is supposedly using is actually paged out by the OS if not needed.

Futhermore, I've heard mentioned a few times the existance of a bug that causes Task Manager to report incorrect memory usage values for .NET apps in general.  I've not found (nor looked for) any details about this bug, however, if it even exists (it could well just be some people seeing the effect of what I described above).

page 1 of 1
Comments: 17 | Views: 6688
Microsoft Communities