rubberduck-vba / Rubberduck

Every programmer needs a rubberduck. COM add-in for the VBA & VB6 IDE (VBE).
https://rubberduckvba.com
GNU General Public License v3.0
1.92k stars 302 forks source link

Memory consumption #4652

Closed Gener4tor closed 5 years ago

Gener4tor commented 5 years ago

The memory consumption of rubberduck is far to high for me.

Im my case - a 100 mb access-mdb with >100 Forms - MS-access uses ~110 MB RAM (open VBE but no rubberduck refresh)

After clicking "Refresh" in the code explorer, the Memory consumption grows and grows and grows and stops at ~ 680 MB.

This is far to much in my case because when I start working with my program, I get OutOfMemory-Errors soon.

Even worse: Features like e.g. intender or some renames tends to open a lot of forms in design mode. In some cases ms-access closes because of memory problems while Rubberduck is still working. After reopen the database, there were only half the changes done.

retailcoder commented 5 years ago

32-bit host?

We could (should) probably close whatever module we open to perform any given task - but I don't think we can modify a module without opening it. Indenting at narrower scope than the entire current project should help reducing the number of modules that need to be opened.

Gener4tor commented 5 years ago

Version 2.3.0.4221 OS: Microsoft Windows NT 10.0.16299.0, x64 Host Product: Microsoft Office 2016 x86 Host Version: 16.0.4711.1000 Host Executable: MSACCESS.EXE

bclothier commented 5 years ago

We acknowledge that this is a big issue and agree something needs to be done about it. However, it is not easy to fix and frankly, we need help with it. That's why we still have the issue #3347 open. Note that it has a number of linked issues. I will close this as a duplicate of that issue. Even so, we do welcome any assistance, especially on identifying what is really inside the large blob of unmanaged memory in order to resolve it.