Skip to content

Instantly share code, notes, and snippets.

@RReverser
Created July 23, 2018 18:02
Show Gist options
  • Save RReverser/a48c9a7332df9ee7bc7abe5f1f708bb7 to your computer and use it in GitHub Desktop.
Save RReverser/a48c9a7332df9ee7bc7abe5f1f708bb7 to your computer and use it in GitHub Desktop.
#![feature(test)]
extern crate regex;
extern crate test;
use regex::Regex;
use test::{black_box, Bencher};
const SAMPLE: &str = "one two three four five six seven eight nine ten eleven twelve";
#[bench]
fn with_dots(b: &mut Bencher) {
let re = Regex::new(".*eleven.*").unwrap();
b.iter(|| {
black_box(re.is_match(black_box(SAMPLE)))
});
}
#[bench]
fn with_dots_and_s_mode(b: &mut Bencher) {
let re = Regex::new("(?s).*eleven.*").unwrap();
b.iter(|| {
black_box(re.is_match(black_box(SAMPLE)))
});
}
#[bench]
fn without_dots(b: &mut Bencher) {
let re = Regex::new("eleven").unwrap();
b.iter(|| {
black_box(re.is_match(black_box(SAMPLE)))
});
}
#[bench]
fn without_front_dots(b: &mut Bencher) {
let re = Regex::new("eleven.*").unwrap();
b.iter(|| {
black_box(re.is_match(black_box(SAMPLE)))
});
}
#[bench]
fn without_back_dots(b: &mut Bencher) {
let re = Regex::new(".*eleven").unwrap();
b.iter(|| {
black_box(re.is_match(black_box(SAMPLE)))
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment