diff --git a/scripts/perf.bash b/scripts/perf.bash index aa7ae329..fab93e72 100755 --- a/scripts/perf.bash +++ b/scripts/perf.bash @@ -14,7 +14,7 @@ function main { additional_flags+=(--profile "$PROFILE") fi (cd "$DIR/../" && cargo build --no-default-features "${additional_flags[@]}") - perf record --freq=2000 --call-graph dwarf --output="$DIR/../perf.data" "$DIR/../target/${PROFILE}/parse" "${@}" + perf record --freq=70000 --call-graph dwarf --output="$DIR/../perf.data" "$DIR/../target/${PROFILE}/parse" "${@}" # Convert to a format firefox will read # flags to consider --show-info diff --git a/src/parser/document.rs b/src/parser/document.rs index a2122d31..898b42e5 100644 --- a/src/parser/document.rs +++ b/src/parser/document.rs @@ -208,3 +208,17 @@ fn _document<'b, 'g, 'r, 's>( }, )) } + +#[cfg(test)] +mod tests { + use test::Bencher; + + use super::*; + + #[bench] + fn bench_full_document(b: &mut Bencher) { + let input = include_str!("../../org_mode_samples/element_container_priority/README.org"); + + b.iter(|| assert!(parse(input).is_ok())); + } +}