Compactar arquivos grandes em ruby com Zlib for gzip

Eu tenho um arquivo muito grande, aprox. 200 milhões de linhas de dados.

Gostaria de compactá-lo com a biblioteca Zlib, usando especificamente o Writer.

Ler cada linha uma de cada vez parece demorar um pouco. Existe uma maneira melhor de conseguir isso?

Aqui está o que eu tenho agora:

require 'zlib'

Zlib::GzipWriter.open('compressed_file.gz') do |gz|
 File.open(large_data_file).each do |line|
   gz.write line
 end
 gz.close
end

questionAnswers(1)

yourAnswerToTheQuestion