Splitting data into blocks will only degrade compression ratio, and is unlikely to improve speed.
The main idea behind "splitting into small blocks" is improve access : say you want to read a segment of the file at position PX, then you immediately know it is stored into block BY = PX / BlockSize. Therefore, instead of decoding the whole file, you only decode the block.
And that's it. If you're looking for better speed, you'll have to use some different compression algorithm, such as Snappy or LZ4, which are known to have compression and decompression speed several times faster than zlib.