Comments on: Technical Deep Dive: Reducing Memory Consumption in Visual Assist build 2393 https://www.wholetomato.com/blog/2020/12/17/technical-deep-dive-reducing-memory-consumption-in-visual-assist-build-2393/ Visual Assist Team Blog Tue, 21 Nov 2023 10:57:33 +0000 hourly 1 https://wordpress.org/?v=6.4.5 By: Visual Assist support for Visual Studio 2022 Previews! – Tomato Soup https://www.wholetomato.com/blog/2020/12/17/technical-deep-dive-reducing-memory-consumption-in-visual-assist-build-2393/#comment-111 Thu, 12 Aug 2021 17:48:07 +0000 http://blog.wholetomato.com/?p=1790#comment-111 […] others, last November we greatly reduced the in-process memory usage largely through (spoiler: the full blog is worth reading) use of memory-mapped […]

]]>
By: Unreal Engine ‘Quality Of Life’ in Visual Assist 2021.2 – Tomato Soup https://www.wholetomato.com/blog/2020/12/17/technical-deep-dive-reducing-memory-consumption-in-visual-assist-build-2393/#comment-108 Thu, 15 Jul 2021 17:52:30 +0000 http://blog.wholetomato.com/?p=1790#comment-108 re starting to blog in greater detail about some of what we change — our December blog about reducing memory usage started this — and this time we’ll dig a bit more into two changes improving using Unreal […]]]> […] and release blogs, we’re starting to blog in greater detail about some of what we change — our December blog about reducing memory usage started this — and this time we’ll dig a bit more into two changes improving using Unreal […]

]]>
By: David Millington https://www.wholetomato.com/blog/2020/12/17/technical-deep-dive-reducing-memory-consumption-in-visual-assist-build-2393/#comment-103 Sun, 20 Dec 2020 14:48:56 +0000 http://blog.wholetomato.com/?p=1790#comment-103 In reply to adequat49.

Thanks for the comment!

Yes, the 4GB has to be shared by all of Visual Studio and its extensions — that’s what spurred this work. And we don’t use IPC at all.

We called it ‘out of process’ originally because we were planning multiple processes with IPC, but the term stuck and we didn’t feel it particularly inaccurate because when the string data is in a memory mapped file, that data as a whole does not take up this process’s address space, until portions of it are mapped in. That’s what we do (about 40MB is permanently mapped in.) So if we have, say, 200MB of string data, only 40MB are in-process (or, in-process-address-space.) Perhaps ‘out of process address space’ is a more accurate term.

And — thanks for using VA! 🙂

]]>
By: adequat49 https://www.wholetomato.com/blog/2020/12/17/technical-deep-dive-reducing-memory-consumption-in-visual-assist-build-2393/#comment-102 Sat, 19 Dec 2020 12:55:32 +0000 http://blog.wholetomato.com/?p=1790#comment-102 You’re mistaken when you say: “after all, the memory is not in our process.”
Yes, it is. There are 4 GB of space to share by any stakeholder in the same process. For example, if there are four visual studio addins to use the same technique as yours, they will have to share the 4 GB memory; they can’t have 4 GB each.
Therefore, apparently, what you did, is a dedicated memory manager to replace malloc/free. This can indeed increase performance if it is well-tailored to your needs.
But this can’t be called IPC in any way.
Loving VA btw 😉

]]>