It can often improve performance and memory latency and usually only has a minor CPU performance impact as it trades cycles waiting for memory for cycles decompressing memory. It is usually decent even on low power embedded devices.
There are a few edge cases where ZRam is not great. If your data is already compressed or encrypted copying it around in memory is much more expensive. It’s also harder to tell exactly how much data can be loaded into the “free” memory. It’s also a bit slower for serialized memory access in large data sets if the compression ratio is low.
Yep, YouTube even has an A/B testing tool for automating this.