{"action":"created","issue":{"url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/issues/3347","repository_url":"https://api.github.com/repos/rubberduck-vba/Rubberduck","labels_url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/issues/3347/labels{/name}","comments_url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/issues/3347/comments","events_url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/issues/3347/events","html_url":"https://github.com/rubberduck-vba/Rubberduck/issues/3347","id":254774738,"number":3347,"title":"Holy RAM, batman!","user":{"login":"bclothier","id":2367644,"avatar_url":"https://avatars2.githubusercontent.com/u/2367644?v=4","gravatar_id":"","url":"https://api.github.com/users/bclothier","html_url":"https://github.com/bclothier","followers_url":"https://api.github.com/users/bclothier/followers","following_url":"https://api.github.com/users/bclothier/following{/other_user}","gists_url":"https://api.github.com/users/bclothier/gists{/gist_id}","starred_url":"https://api.github.com/users/bclothier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bclothier/subscriptions","organizations_url":"https://api.github.com/users/bclothier/orgs","repos_url":"https://api.github.com/users/bclothier/repos","events_url":"https://api.github.com/users/bclothier/events{/privacy}","received_events_url":"https://api.github.com/users/bclothier/received_events","type":"User","site_admin":false},"labels":[{"id":202428759,"url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/labels/critical","name":"critical","color":"b60205","default":false},{"id":225576380,"url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/labels/quality-control","name":"quality-control","color":"808080","default":false},{"id":347783794,"url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/labels/technical-debt","name":"technical-debt","color":"808080","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-09-01T23:57:55Z","updated_at":"2017-09-02T02:35:50Z","closed_at":null,"author_association":"NONE","body":"After observing random \"System resources exceeded\" or \"Out of memory\" with my usercode which didn't quite make sense, I later ran quick fixes. After applying changes, I went to start the application and immediately got the `System resources exceeded` *despite have NOT run any VBA code`. \r\n\r\nSuspicious, I restarted Access, then opened Access. Noted the working set memory at 8MB. \r\nLaunch open VBA, the working set rockets to 175MB working set memory.\r\nRun parse, the working set goes up to 300 MB! \r\nOpen quick inspector, and refresh, the working set climbs to 475 MB!\r\n\r\nI might be going out on a limb but it sure looks like to me something's hemorrhaging hemorrhages. \r\n"},"comment":{"url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/issues/comments/326716825","html_url":"https://github.com/rubberduck-vba/Rubberduck/issues/3347#issuecomment-326716825","issue_url":"https://api.github.com/repos/rubberduck-vba/Rubberduck/issues/3347","id":326716825,"user":{"login":"bclothier","id":2367644,"avatar_url":"https://avatars2.githubusercontent.com/u/2367644?v=4","gravatar_id":"","url":"https://api.github.com/users/bclothier","html_url":"https://github.com/bclothier","followers_url":"https://api.github.com/users/bclothier/followers","following_url":"https://api.github.com/users/bclothier/following{/other_user}","gists_url":"https://api.github.com/users/bclothier/gists{/gist_id}","starred_url":"https://api.github.com/users/bclothier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bclothier/subscriptions","organizations_url":"https://api.github.com/users/bclothier/orgs","repos_url":"https://api.github.com/users/bclothier/repos","events_url":"https://api.github.com/users/bclothier/events{/privacy}","received_events_url":"https://api.github.com/users/bclothier/received_events","type":"User","site_admin":false},"created_at":"2017-09-02T02:35:50Z","updated_at":"2017-09-02T02:35:50Z","author_association":"NONE","body":"In that case, if you do use a database, your ideal database should support hash indexes as to keep the O(1) operation. I can't recall off the cuff if sqlite has hash index. I wrongly(?) assumed that you were also doing querying because in the quick fix inspection window, we group stuff, and display only first 100. That's an example of querying where a B-tree index can help cut down on the search space because you don't want to literally loop each single member of the collection in this case. You only want a scrolling window of data. \r\n\r\nFrom reading I did whenever you invalidate a module reference, you have to delete all references from that module, then re-build it. That's another example where a B-tree index would win out on a hash index -- just delete all references with module = \"x\", done in a sequential scan. Besides, it's much easier to optimize a database than it is code (at least that's the case for me)."}}
{"actor":{"display_login":"bclothier"}}