Сжатие вообще не будет быстрым, но размер файла будет отрицательным.
Одна из причин, по которым tar.gz создает файлы меньшего размера, чем один zip, заключается в том, что gzip работает с большим буфером данных (всем файлом tar), в то время как в вашем случае zip работает только с данными одного файл за раз (обычно намного меньше, чем размер файла tar, если файлов много).
Таким образом, gzip получает возможность сжимать целую книгу с главами страниц за раз, тогда как zip сжимает каждую главу книги, а затем упаковывает сжатые главы в книгу - т.е. сжатая коллекция объектов обычно меньше, чем коллекция сжатые объекты.
Для получения результата, аналогичного tar.gz, вы можете заархивировать файлы на первом проходе, используя алгоритм store, а затем сжать полученный zip-файл, используя алгоритм дефляции по умолчанию.