forked from mirrors/gecko-dev
		
	 a3a60fed58
			
		
	
	
		a3a60fed58
		
	
	
	
	
		
			
			Includes an upgrade to the miniz_oxide crate (not otherwise used) from 0.6.2 to 0.7.1. Differential Revision: https://phabricator.services.mozilla.com/D190837
		
			
				
	
	
		
			26 lines
		
	
	
	
		
			839 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			839 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| use flate2::write::GzEncoder;
 | |
| use flate2::Compression;
 | |
| use std::env::args;
 | |
| use std::fs::File;
 | |
| use std::io::copy;
 | |
| use std::io::BufReader;
 | |
| use std::time::Instant;
 | |
| 
 | |
| fn main() {
 | |
|     if args().len() != 3 {
 | |
|         eprintln!("Usage: ./compress_file `source` `target`");
 | |
|         return;
 | |
|     }
 | |
|     let mut input = BufReader::new(File::open(args().nth(1).unwrap()).unwrap());
 | |
|     let output = File::create(args().nth(2).unwrap()).unwrap();
 | |
|     let mut encoder = GzEncoder::new(output, Compression::default());
 | |
|     let start = Instant::now();
 | |
|     copy(&mut input, &mut encoder).unwrap();
 | |
|     let output = encoder.finish().unwrap();
 | |
|     println!(
 | |
|         "Source len: {:?}",
 | |
|         input.get_ref().metadata().unwrap().len()
 | |
|     );
 | |
|     println!("Target len: {:?}", output.metadata().unwrap().len());
 | |
|     println!("Elapsed: {:?}", start.elapsed());
 | |
| }
 |