[Nexus 5X Q&A, Help & Troubleshooting] kdoul:
Memory management on your desktop or laptop computer is vastly different than that of android. On a desktop you try not to kill anything, because if you do something might break. If you run out of ram it is preferable to use some sort of swap space (pagefile in windows) in your hard drive to temporarily store inactive bits of memory until you need to use them later. It is slow but it gets the job done.

On android devices, storage is (maybe used to be) slow to read and write on so you want to use it the least possible. The solution is to maximize ram usage and fill it all the way at all times. If you have no apps open and lots of unused ram android will start caching your most used apps in the unused space to reduce loading times. If you do have apps opened they will stay frozen in the background until you access them again. But what happens when the unused ram goes low? Ask a special program to go on a killing spree. The idea is that you care about what you see and everything past that is not critical. Frozen apps die first, then some background services, then the foreground services and at last, the foreground app.

Then there comes the zram. The idea is that you cut a part of your physical ram and make it work like the swap partition on your hard dive, but you compress the data first before you put them there. Since ram is much faster than your hard drive zram, if configured correctly, can save you from swap slowdowns when using more than 100% of your physical ram.

Zram is problematic on android. How do you decide what to swap and what to kill when you are low on memory?

Battery and processing power are also limited. Heat when constantly using the cpu for compression is an issue that can cause slowdowns because of thermal throttling. On this scenario you are taking a huge piece for that purpose (more than 1/4) of the available physical ram when you should be taking less than half of that.

The only acceptable place for zram on android is on budget phones/tablets that simply can't afford to have more than 1gb of ram and you want them to run memory hungry applications without crashing. But then again, they do slow down when it is used. A lot.

When you have an expensive (flagship) device and you see that it can't run properly with the amount of ram you have already supplied the only way to ensure it will work optimally is to add more freaking ram. Not enable zram or any other software feature to try and bypass that. Google was stupid with the Nexus 9 and once again they are being stupid with the 5X. Cheaper or equally priced devices have tons of ram nowadays so I just can't see a reason other than Google wanting to either save peanuts from using less or promote their higher end model because it feels faster???

I can accept bad cameras, ugly design, small batteries, ****ty audio or even mediocre processing power. What I can't accept is (purposely?) crippled devices that they are broken out of the box in a way that you can't possibly fix.

Small edit: I believe that you can use the new crypto instructions from the ARMv8 instruction set and still run android in Aarch32 (32 bit) mode. In that case everyone is happy except for the marketing team of course.