B
Bob Dufour
We got a windows form application that we wrote in VB.Net.
Essentially its a manager for a list of persons and their contacts and some
other info about the persons. No rocket science but lots of textboxes and
comboxes to use lookup lists, some tab controls allow viewing of data about
a person in logical groupings.
We find that as we load the app with only a few hundred records of data in a
lookup list (Rough estimate of data only at this stage I say about 1400k)
the total app foot print at this stage is 47 megs.
First impression, that looks like an awfull lot for an application that has
one splash screen, one main form that is loaded in which there are about 200
controls, mostly textboxes, a bout 15 comboxes and a dozen or so
ComponentOne truedbgrids, each one with one or two Component One
trueDbDropDowns.
Second thing we see. When we pump the number of records up to 50000 we end
up with 127 Megs of RAM being used by this one app. We can pump the number
of loaded records up by having our code make a select for all 50000 records
and pumpt the number of loaded records down again by having our code select
only about 100 records marked as active. We're NOT talking about filtering
here. We clear and refill.
What I see when we pump the number of records down to 100 once we've
selected all, the meory footprint of the app remains at 127 megs. It does
not go down again.
Two questions if you would please.
1- Has anyone else noticed that apps in .Net seem to require substantially
bigger memory footprints that apps writen in previous versions of VB? Any
hard comparison info out there to conform or deny this impression.
2- Why would the memory footprint stay at its highest in the useage scenario
described above and more importantly, any ideas on how to efficiently
reclaim RAM. We implicitly close all objects when no longer in use so that
the garbage collector can do its job, but that does not seem to be enough.
Any comments or ideas on how to minimize applicatrion memory footprint would
be greatly appreciated.
BOB
Essentially its a manager for a list of persons and their contacts and some
other info about the persons. No rocket science but lots of textboxes and
comboxes to use lookup lists, some tab controls allow viewing of data about
a person in logical groupings.
We find that as we load the app with only a few hundred records of data in a
lookup list (Rough estimate of data only at this stage I say about 1400k)
the total app foot print at this stage is 47 megs.
First impression, that looks like an awfull lot for an application that has
one splash screen, one main form that is loaded in which there are about 200
controls, mostly textboxes, a bout 15 comboxes and a dozen or so
ComponentOne truedbgrids, each one with one or two Component One
trueDbDropDowns.
Second thing we see. When we pump the number of records up to 50000 we end
up with 127 Megs of RAM being used by this one app. We can pump the number
of loaded records up by having our code make a select for all 50000 records
and pumpt the number of loaded records down again by having our code select
only about 100 records marked as active. We're NOT talking about filtering
here. We clear and refill.
What I see when we pump the number of records down to 100 once we've
selected all, the meory footprint of the app remains at 127 megs. It does
not go down again.
Two questions if you would please.
1- Has anyone else noticed that apps in .Net seem to require substantially
bigger memory footprints that apps writen in previous versions of VB? Any
hard comparison info out there to conform or deny this impression.
2- Why would the memory footprint stay at its highest in the useage scenario
described above and more importantly, any ideas on how to efficiently
reclaim RAM. We implicitly close all objects when no longer in use so that
the garbage collector can do its job, but that does not seem to be enough.
Any comments or ideas on how to minimize applicatrion memory footprint would
be greatly appreciated.
BOB