Hi
That’s an obsession to compare Krita with CSP for CPU, memory, or I don’t know what… 
I’m sometime wondering why you’re using Krita as you’re always complaining of everything 
But I’ve made some tests by myself, just to check, because I’m curious and want to be sure how comparison is made.
I’m using the same document dimension on both software, to be sure.
At startup, both software use approximately the same amount of memory.
One thing I really don’t like: CSP do some connection to Amazon Web Service
(but ok, not related to memory usage)
Then, I create the same document
So clearly, at this point Krita need more RAM than CSP (+660MB)
Then I add 5 empty layers:
Additional memory amount is
similar between CSP and Krita (But CSP need more RAM than Krita)
Difference of total memory usage stay around 660MB
Starting to fill one layer
Additional memory amount is
similar between CSP and Krita (But CSP need more RAM than Krita)
Difference of total memory usage is around 600MB
Filling a second layer
Additional memory amount is
similar between CSP and Krita (But CSP need more RAM than Krita)
Difference of total memory usage is around 525MB
Filling a third layer
Additional memory amount is
similar between CSP and Krita (But CSP need more RAM than Krita)
Difference of total memory usage is around 460MB
Finally document with:
- 10 Filled layers
- 1 layer with simple lines
Difference of total memory usage is around 200MB
At 20 filled layers:
Clearly Krita use less RAM 
My conclusion of my totally objective test: Krita have a better memory management than CSP 
But I also limited Krita RAM usage to 4GB (that’s insanity low according to document size and number of layers, but tried to reproduce your memory configuration)
So in this configuration Krita start to swap (and became slow)
If I increase RAM limit usage to 14GB, the same document in Krita will use 6520000KB (still less than CSP)
As you can see, we can compare what we want to tell this software have a better memory management than this other one; that’s possible even if I absolutely don’t have any idea about how internally both software are implemented, why the implementation has been made like this, and how memory management work for specifics OS.
But who cares of that because the truth is shown by resource manager: Krita use less memory than CSP on my document.
So at startup, Krita need more physical RAM yes.
But after, when layers starts to be used, Krita needs less RAM per layer…
And?
That’s just a nonsense to try to compare that.
If Krita was eating 10GB RAM for one layer maybe yes, we can tell there’s a problem.
But here I don’t think there’s abnormal usage of RAM.
How technically software manage their memory can’t be compared; there’s many things that can be take in account:
- Pure “data” memory (how much bytes a pixel takes in memory)
- “Objects” memory (using OOP use more memory as objects have many properties)
- Different compiler can provides different results about memory management
- Frameworks (Qt for Krita) can have an impact about how memory is used and developers can’t do anything for that even with a 10,000,000$ budget (or just rewrite Krita to use another framework maybe…)
And also:
- memory measure made from resources monitor are information that give an idea more than a precise real usage
- OS can move data from/to physical memory to/from swap according to other running process and their priority
And also, Krita is built to be multi-system compatible (Windows, Linux, MacOS, Android); this means that if developers want to optimize Windows memory footprint to satisfy your needs, they probably have to code specific things for windows. And ignore all others users (or also spent time to optimize Linux, optimize MacOS, optimize Android…)
Grum999