Use a lot of memory…


I have been using Konfabulator for a few weeks now and recently noticed how much memory it uses. with six widgets open it was consuming just over 75 megs! It's a great utility but the memory usage seems very high.

Then after looking a bit closer at what all was running on my tablet - I noticed that Konfabulator isn't alone... the applications that were bundled with my PC for things like monitoring my wireless status, custom power management profiles, etc. were eating another 50 megs... MSN Messenger has another 22 megs (for buddy list?) and activesync another 4 or so...

I know each of these are relatively small but it all adds up... do developers just not care as much about memory consumption as they used to?

 

Comments (8)

  1. Write a bare minimum Hello World in .NET and see how much memory it uses.

    You will be surprised.

  2. I’ve so wondered about that… Memory doesn’t seem to bother anyone anymore.

    Anyway, <a href="http://www.pcworld.com/downloads/file_description/0,fid,22441,00.asp">FreeRAM</a&gt; works well for me! Worth checking out.

  3. BillT says:

    My bet is that these developers don’t worry about memory at all — because they’re using "programming environments" that hide that detail from them. Often a tiny thing like a "Hello, World!" program takes a lot of memory, and we no longer have any direct control over that. As time goes on, more and more levels of abstraction are added to the software development process, and each level adds a lot of overhead.

  4. Eric Maino says:

    I wouldn’t say that developers don’t care about memory anymore though due to it’s vast availability it’s not as much of a thought as it used to be unfortunately. Secondly if you are dealing with managed applications you must wait for the GC to clean up the freed memory therefore you may experience a larger then expected footprint at times.

  5. Aaron says:

    I think the short answer is "yes". As memory (and hardware prices in general) have fallen, it’s become far easier to just demand high system requirements than it was in the past. Developers have lost the focus on optimization, and we’re seeing the result.

  6. Uwe Keim says:

    Maybe MSN Messenger uses that much when ran in conjunction with Messenger Plus!?

  7. Mike Dodd says:

    If you’re just looking at ‘Mem Usage’ in task manager, that number can be a little misleading. That’s the size of the ‘working set’ that the program is using, but some of those memory pages can be shared with other applications. For example, when an application loads a copy of ‘user32.dll’, it (usually) doesn’t get its own copy — instead, it shares a read-only copy of that with other running programs. If you add the ‘VM Size’ column in Task Manager, it will show you the size of the private heap — memory that cannot be shared with other applications — of that program.

    So you could, in theory, write an app that loaded 100 MB of DLLs, but only took 10 MB of memory if most of those DLLs were shared with other applications in use.

  8. Pieter, .NET has a different way of handling memory from what I understand. It tends to allocate a chunk of memory for a particular app right at launch-time, even though all of it might not be necessary. If other open applications need the resources, the CLR frees some of the memory it had reserved. The philosophy is – if you have free RAM, why not use it? 🙂

Skip to main content