summaryrefslogtreecommitdiff
path: root/fflate/rs/fflate-wasm/src/lib.rs
blob: 95e1dac4d7f54dfd15ea3e7fc44f8d2378e2233c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
use wasm_bindgen::prelude::*;
use fflate;

#[wasm_bindgen]
pub fn inflate(dat: &[u8]) -> Vec<u8> {
    let mut v = Vec::new();
    fflate::inflate(dat, &mut v);
    v
}

// use std::io::prelude::*;
// use std::env;
// use std::fs::read;
// use std::time;
// use flate2::Compression;
// use flate2::write::DeflateEncoder;
// use flate2::write::DeflateDecoder;
// use libflate::deflate::Decoder;
// mod lib;



// fn main() {
//     let args: Vec<String> = env::args().collect();
//     let buf = read(&args[1]).unwrap();
//     let mut e = DeflateEncoder::new(Vec::new(), Compression::default());
//     e.write_all(&buf).unwrap();
//     let cmpr = e.finish().unwrap();
//     let t = time::Instant::now();
//     let mut infld = Vec::new();
//     let decmpr = lib::inflate(&cmpr, &mut infld);
//     println!("fflate time: {:?}", t.elapsed());
//     let t2 = time::Instant::now();
//     let mut dec = DeflateDecoder::new(Vec::new());
//     dec.write_all(&cmpr).unwrap();
//     let decmpr2 = dec.finish().unwrap();
//     println!("flate2 time: {:?}", t2.elapsed());
//     let t3 = time::Instant::now();
//     let mut dec = Decoder::new(&*cmpr);
//     let mut decmpr3 = Vec::new();
//     dec.read_to_end(&mut decmpr3).unwrap();
//     println!("libflate time: {:?}", t3.elapsed());
// }