I've been trying to understand the difference in use cases for Zswap, Zram, and Zcache. Apologies in advance for the long/slightly sloppily worded question. I've done a bunch of googling, and I understand that zram is basically a block device for compressed swap, while zswap compresses in kernel using the frontswap api. It appears that one advantage of zswap is that it can move some pages to a backing swap when under pressure in a LRU manner, while zram can't do that (please confirm, not sure if this is true).
So here's my question: 1.) As a desktop user, what is the performance difference between zcache/zswap/zram, especially zswap and zram? For example, is one much better/worse at memory fragmentation (the kind that leads to excessive memory usage and waste)?
Bonus question: 2.) Is there a likely ideal combination of the above (say, zram+zswap, or zram+zcache) for desktop performance (including responsiveness of desktop, plus minimally disruptive swap behavior and sane memory management)?
*Citation of sources is greatly appreciated.
I should add that I'm a decently experienced Linux user (5 years), and have tried to really understand how my system including the kernel works. However, I'm not a programmer, and only have very basic programming knowledge (3 credits college course). But be technical if you need to; I'll parse your meaning on my own time.
System specs:
Linux Mint 15
Processor:Core 2 Quad 6600 (2.4ghz)
Ram: 8G
linux kernel: liquorix 3.11 series
Storage: 128 GB SSD, 1TB HDD 5400rpm
No "buy more ram" comments, please! I've maxed the ram on this motherboard, and have a $0 upgrade budget for the foreseeable future. However I like to keep open memory intensive programs (multiple browsers being the main consumers of my ram) so I don't mind swapping within reasonable performance degradation limits.