3e0c9dc866
* Add new `card_rendering` mod Parses a text with av/tts tags and strips or extracts tags. * Replace old `extract_av_tags` and `strip_av_tags` ... with new `card_rendering` mod * ressource -> resource * Add AV prettifier for use in browser table * Accept String in av tag routines ... and avoid redundant writes if no changes need to be made. * add benchmarking with criterion; make links test optional (dae) cargo install cargo-criterion, then run ./bench.sh * performance comparison: creating HashMap up front (dae) the previous solution: anki_tag_parse time: [1.8401 us 1.8437 us 1.8476 us] this solution: anki_tag_parse time: [2.2420 us 2.2447 us 2.2477 us] change: [+21.477% +21.770% +22.066%] (p = 0.00 < 0.05) Performance has regressed. * Revert "performance comparison: creating HashMap up front" (dae) This reverts commit f19126a2f15b729b825825a49283f63ab13474d0. * add missing header * Write error message if tts lang is missing * `Tag` -> `Directive`
13 lines
440 B
Rust
13 lines
440 B
Rust
// Copyright: Ankitects Pty Ltd and contributors
|
|
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|
|
|
use anki::card_rendering::anki_tag_benchmark;
|
|
use criterion::{criterion_group, criterion_main, Criterion};
|
|
|
|
pub fn criterion_benchmark(c: &mut Criterion) {
|
|
c.bench_function("anki_tag_parse", |b| b.iter(|| anki_tag_benchmark()));
|
|
}
|
|
|
|
criterion_group!(benches, criterion_benchmark);
|
|
criterion_main!(benches);
|