Non-working yet benchmark.

This commit is contained in:
Jordan Petridis 2018-01-13 08:31:16 +02:00
parent e4d77a6ba4
commit e162f8fd3f
No known key found for this signature in database
GPG Key ID: CEABAD9F5683B9A6

View File

@ -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();
});
}