Non-working yet benchmark.
This commit is contained in:
parent
e4d77a6ba4
commit
e162f8fd3f
@ -1,19 +1,29 @@
|
||||
#![feature(test)]
|
||||
|
||||
extern crate diesel;
|
||||
extern crate futures;
|
||||
extern crate hammond_data;
|
||||
extern crate hyper;
|
||||
extern crate hyper_tls;
|
||||
extern crate rand;
|
||||
extern crate rayon;
|
||||
extern crate rss;
|
||||
extern crate tempdir;
|
||||
extern crate test;
|
||||
extern crate tokio_core;
|
||||
|
||||
use rayon::prelude::*;
|
||||
|
||||
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::feed::*;
|
||||
use hammond_data::database::truncate_db;
|
||||
|
||||
use std::io::BufReader;
|
||||
|
||||
@ -39,7 +49,7 @@ fn index_urls() {
|
||||
let s = Source::from_url(url).unwrap();
|
||||
// parse it into a channel
|
||||
let chan = rss::Channel::read_from(BufReader::new(buff)).unwrap();
|
||||
Feed::from_channel_source(chan, s)
|
||||
Feed::from_channel_source(chan, s.id())
|
||||
})
|
||||
.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