Compartilhar via


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

  • Anonymous
    November 28, 2004
    Write a bare minimum Hello World in .NET and see how much memory it uses.
    You will be surprised.
  • Anonymous
    November 28, 2004
    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> works well for me! Worth checking out.
  • Anonymous
    November 28, 2004
    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.
  • Anonymous
    November 28, 2004
    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.
  • Anonymous
    November 28, 2004
    The comment has been removed
  • Anonymous
    November 28, 2004
    Maybe MSN Messenger uses that much when ran in conjunction with Messenger Plus!?
  • Anonymous
    November 29, 2004
    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.
  • Anonymous
    November 30, 2004
    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? :)