aboutsummaryrefslogtreecommitdiff
path: root/textwrap/benches/linear.rs
diff options
context:
space:
mode:
Diffstat (limited to 'textwrap/benches/linear.rs')
-rw-r--r--textwrap/benches/linear.rs122
1 files changed, 0 insertions, 122 deletions
diff --git a/textwrap/benches/linear.rs b/textwrap/benches/linear.rs
deleted file mode 100644
index 104398a..0000000
--- a/textwrap/benches/linear.rs
+++ /dev/null
@@ -1,122 +0,0 @@
-#![feature(test)]
-
-// The benchmarks here verify that the complexity grows as O(*n*)
-// where *n* is the number of characters in the text to be wrapped.
-
-#[cfg(feature = "hyphenation")]
-extern crate hyphenation;
-extern crate lipsum;
-extern crate rand;
-extern crate rand_xorshift;
-extern crate test;
-extern crate textwrap;
-
-#[cfg(feature = "hyphenation")]
-use hyphenation::{Language, Load, Standard};
-use lipsum::MarkovChain;
-use rand::SeedableRng;
-use rand_xorshift::XorShiftRng;
-use test::Bencher;
-#[cfg(feature = "hyphenation")]
-use textwrap::Wrapper;
-
-const LINE_LENGTH: usize = 60;
-
-/// Generate a lorem ipsum text with the given number of characters.
-fn lorem_ipsum(length: usize) -> String {
- // The average word length in the lorem ipsum text is somewhere
- // between 6 and 7. So we conservatively divide by 5 to have a
- // long enough text that we can truncate below.
- let rng = XorShiftRng::seed_from_u64(0);
- let mut chain = MarkovChain::new_with_rng(rng);
- chain.learn(lipsum::LOREM_IPSUM);
- chain.learn(lipsum::LIBER_PRIMUS);
-
- let mut text = chain.generate_from(length / 5, ("Lorem", "ipsum"));
- text.truncate(length);
- text
-}
-
-#[bench]
-fn fill_100(b: &mut Bencher) {
- let text = &lorem_ipsum(100);
- b.iter(|| textwrap::fill(text, LINE_LENGTH))
-}
-
-#[bench]
-fn fill_200(b: &mut Bencher) {
- let text = &lorem_ipsum(200);
- b.iter(|| textwrap::fill(text, LINE_LENGTH))
-}
-
-#[bench]
-fn fill_400(b: &mut Bencher) {
- let text = &lorem_ipsum(400);
- b.iter(|| textwrap::fill(text, LINE_LENGTH))
-}
-
-#[bench]
-fn fill_800(b: &mut Bencher) {
- let text = &lorem_ipsum(800);
- b.iter(|| textwrap::fill(text, LINE_LENGTH))
-}
-
-#[bench]
-fn wrap_100(b: &mut Bencher) {
- let text = &lorem_ipsum(100);
- b.iter(|| textwrap::wrap(text, LINE_LENGTH))
-}
-
-#[bench]
-fn wrap_200(b: &mut Bencher) {
- let text = &lorem_ipsum(200);
- b.iter(|| textwrap::wrap(text, LINE_LENGTH))
-}
-
-#[bench]
-fn wrap_400(b: &mut Bencher) {
- let text = &lorem_ipsum(400);
- b.iter(|| textwrap::wrap(text, LINE_LENGTH))
-}
-
-#[bench]
-fn wrap_800(b: &mut Bencher) {
- let text = &lorem_ipsum(800);
- b.iter(|| textwrap::wrap(text, LINE_LENGTH))
-}
-
-#[bench]
-#[cfg(feature = "hyphenation")]
-fn hyphenation_fill_100(b: &mut Bencher) {
- let text = &lorem_ipsum(100);
- let dictionary = Standard::from_embedded(Language::Latin).unwrap();
- let wrapper = Wrapper::with_splitter(LINE_LENGTH, dictionary);
- b.iter(|| wrapper.fill(text))
-}
-
-#[bench]
-#[cfg(feature = "hyphenation")]
-fn hyphenation_fill_200(b: &mut Bencher) {
- let text = &lorem_ipsum(200);
- let dictionary = Standard::from_embedded(Language::Latin).unwrap();
- let wrapper = Wrapper::with_splitter(LINE_LENGTH, dictionary);
- b.iter(|| wrapper.fill(text))
-}
-
-#[bench]
-#[cfg(feature = "hyphenation")]
-fn hyphenation_fill_400(b: &mut Bencher) {
- let text = &lorem_ipsum(400);
- let dictionary = Standard::from_embedded(Language::Latin).unwrap();
- let wrapper = Wrapper::with_splitter(LINE_LENGTH, dictionary);
- b.iter(|| wrapper.fill(text))
-}
-
-#[bench]
-#[cfg(feature = "hyphenation")]
-fn hyphenation_fill_800(b: &mut Bencher) {
- let text = &lorem_ipsum(800);
- let dictionary = Standard::from_embedded(Language::Latin).unwrap();
- let wrapper = Wrapper::with_splitter(LINE_LENGTH, dictionary);
- b.iter(|| wrapper.fill(text))
-}