Non-working yet benchmark.
This commit is contained in:
parent
e4d77a6ba4
commit
e162f8fd3f
@ -1,19 +1,29 @@
|
|||||||
#![feature(test)]
|
#![feature(test)]
|
||||||
|
|
||||||
extern crate diesel;
|
extern crate diesel;
|
||||||
|
extern crate futures;
|
||||||
extern crate hammond_data;
|
extern crate hammond_data;
|
||||||
|
extern crate hyper;
|
||||||
|
extern crate hyper_tls;
|
||||||
extern crate rand;
|
extern crate rand;
|
||||||
extern crate rayon;
|
extern crate rayon;
|
||||||
extern crate rss;
|
extern crate rss;
|
||||||
extern crate tempdir;
|
extern crate tempdir;
|
||||||
extern crate test;
|
extern crate test;
|
||||||
|
extern crate tokio_core;
|
||||||
|
|
||||||
use rayon::prelude::*;
|
use rayon::prelude::*;
|
||||||
|
|
||||||
use test::Bencher;
|
use test::Bencher;
|
||||||
|
|
||||||
|
use tokio_core::reactor::Core;
|
||||||
|
use hyper::Client;
|
||||||
|
use hyper_tls::HttpsConnector;
|
||||||
|
use futures::future::*;
|
||||||
|
|
||||||
use hammond_data::Source;
|
use hammond_data::Source;
|
||||||
use hammond_data::feed::*;
|
use hammond_data::feed::*;
|
||||||
|
use hammond_data::database::truncate_db;
|
||||||
|
|
||||||
use std::io::BufReader;
|
use std::io::BufReader;
|
||||||
|
|
||||||
@ -39,7 +49,7 @@ fn index_urls() {
|
|||||||
let s = Source::from_url(url).unwrap();
|
let s = Source::from_url(url).unwrap();
|
||||||
// parse it into a channel
|
// parse it into a channel
|
||||||
let chan = rss::Channel::read_from(BufReader::new(buff)).unwrap();
|
let chan = rss::Channel::read_from(BufReader::new(buff)).unwrap();
|
||||||
Feed::from_channel_source(chan, s)
|
Feed::from_channel_source(chan, s.id())
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
@ -64,3 +74,39 @@ fn bench_index_unchanged_feeds(b: &mut Bencher) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[bench]
|
||||||
|
fn bench_get_normal_feeds(b: &mut Bencher) {
|
||||||
|
truncate_db().unwrap();
|
||||||
|
|
||||||
|
b.iter(|| {
|
||||||
|
URLS.iter().for_each(|&(_, url)| {
|
||||||
|
let mut s = Source::from_url(url).unwrap();
|
||||||
|
s.into_feed(true).unwrap();
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
#[bench]
|
||||||
|
fn bench_get_future_feeds(b: &mut Bencher) {
|
||||||
|
truncate_db().unwrap();
|
||||||
|
|
||||||
|
b.iter(|| {
|
||||||
|
let mut core = Core::new().unwrap();
|
||||||
|
let mut handle = core.handle();
|
||||||
|
let mut client = Client::configure()
|
||||||
|
.connector(HttpsConnector::new(4, &handle).unwrap())
|
||||||
|
.build(&handle);
|
||||||
|
|
||||||
|
let mut foo: Vec<_>;
|
||||||
|
|
||||||
|
URLS.iter().for_each(|&(_, url)| {
|
||||||
|
let mut s = Source::from_url(url).unwrap();
|
||||||
|
let future = s.into_fututre_feed(&mut client, true);
|
||||||
|
foo.push(future);
|
||||||
|
});
|
||||||
|
|
||||||
|
let work = join_all(foo);
|
||||||
|
core.run(work).unwrap();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user