readable-readability 0.4.0

Really fast readability.
Documentation
#![feature(test)]

extern crate readable_readability;
extern crate url;

extern crate test;

use test::Bencher;
use url::Url;

use readable_readability::Readability;


macro_rules! include_sample_file {
    ($name:ident, $file:expr) => {
        include_str!(concat!("../samples/", stringify!($name), "/", $file))
    }
}

macro_rules! bench_sample {
    ($name:ident) => {
        #[bench]
        fn $name(b: &mut Bencher) {
            static SOURCE: &'static str = include_sample_file!($name, "source.html");

            b.iter(||
                Readability::new()
                    .base_url(Url::parse("http://fakehost/test/page.html").unwrap())
                    .parse(SOURCE));
        }
    };
}

bench_sample!(bbc);
bench_sample!(buzzfeed);
bench_sample!(cnet);
bench_sample!(ehow_2);
bench_sample!(heise);
bench_sample!(herald_sun);
bench_sample!(iab);
bench_sample!(libertation);
bench_sample!(medium_1);
bench_sample!(medium_2);
bench_sample!(mozilla_1);
bench_sample!(msn);
bench_sample!(nytimes_1);
bench_sample!(wikia);
bench_sample!(wikipedia);
bench_sample!(wordpress);