Apparently there are two ways:
1. Use zRAM and fall back to internal storage(more likely to be internal since it is not removable, as if you put it at external and you remove the micro sd card then your OS would crash) if it exceeds a certain threshold.
2. Use zRAM solely for the paging.
I'm not the ROM and kernel developer so idk which he used
That's the total block size to be more specific. Each block size is 150mb and there's 4 of it(as you can see, number of zRAM is 4), so total it up and you'll get the total block size which is 600mb.
For the zRAM to be used, the RAM usage needs to reach a certain threshold before it will start to fallback to swap(zRAM in our case). Once both of it gets full, in Android, generally it will start to kill the apps as Android is more aggressive in killing apps(in Linux basically it will continue to page, although it is very slow, but as long as you can afford to wait then the process will finish somehow).
For the threshold, you can look up to vm.swappiness:
http://en.wikipedia.org/wiki/SwappinessFor the aggressiveness of the OS killing an app:
http://en.wikipedia.org/wiki/Out_of_memoryAgain, this is dependent on how does the kernel works, and the scheduler as well as the swappiness settings that is used in this case......... which idk
Because there's actually less RAM available now. In your case, I think that you're not multitasking atm. Let's say that it starts to page when you used up 500mb of RAM. So if there's another app that needs to be run, it will enter the zRAM and the app's data will be compressed in the zRAM. This will reduce your "responsiveness aka snappiness" because the OS will need to start do paging earlier than before. Paging still takes time even though it is done inside the RAM. Moreover, the compression and decompression of data requires CPU power and some time(the bottleneck aka the point where it makes things slow is at here instead of the paging process). As compared to your previous setup, if I can store all apps in the 800mb, then it will be faster because I don't need to do the compression and the paging. But the apps will get killed more frequently in this case due to Android's OOM or gets paged in the slower internal storage. My case of saying that it is faster is when your RAM is all used up and it is paging heavily.
In short, with zRAM, you will be sacrificing responsiveness below load but instead getting better responsiveness under load