From 31a7504d5495123da8464627682c98cfb503e1e3 Mon Sep 17 00:00:00 2001 From: Alexis Mousset Date: Thu, 22 Oct 2015 23:34:04 +0200 Subject: [PATCH] Add becnhmarks --- .travis.yml | 1 + benches/smtp.rs | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 benches/smtp.rs diff --git a/.travis.yml b/.travis.yml index 0e8c4eb..16956b8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,7 @@ script: travis-cargo build && travis-cargo test && travis-cargo doc + - 'if [ $TRAVIS_RUST_VERSION = nightly ]; then cargo bench; fi' after_success: - travis-cargo --only stable doc-upload - travis-cargo --only stable coveralls diff --git a/benches/smtp.rs b/benches/smtp.rs new file mode 100644 index 0000000..f70d5a6 --- /dev/null +++ b/benches/smtp.rs @@ -0,0 +1,45 @@ +#![feature(test)] + +extern crate lettre; +extern crate test; + +use lettre::transport::smtp::SmtpTransportBuilder; +use lettre::transport::EmailTransport; +use lettre::mailer::Mailer; +use lettre::email::EmailBuilder; + +#[bench] +fn bench_simple_send(b: &mut test::Bencher) { + b.iter(|| { + let sender = SmtpTransportBuilder::localhost().unwrap().build(); + let mut mailer = Mailer::new(sender); + let email = EmailBuilder::new() + .to("root@localhost") + .from("user@localhost") + .body("Hello World!") + .subject("Hello") + .build() + .unwrap(); + let result = mailer.send(email); + assert!(result.is_ok()); + mailer.close() + }); +} + +#[bench] +fn bench_reuse_send(b: &mut test::Bencher) { + let sender = SmtpTransportBuilder::localhost().unwrap().connection_reuse(true).build(); + let mut mailer = Mailer::new(sender); + b.iter(|| { + let email = EmailBuilder::new() + .to("root@localhost") + .from("user@localhost") + .body("Hello World!") + .subject("Hello") + .build() + .unwrap(); + let result = mailer.send(email); + assert!(result.is_ok()); + }); + mailer.close() +}