Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  string.rs   Sprache: unbekannt

 
use arraystring::{prelude::*, typenum::U20};
use inlinable_string::{InlinableString, StringExt};
use smallstring::SmallString as SmallVecString;
use criterion::{criterion_group, criterion_main, Criterion};

fn string_clone_benchmark(c: &mut Criterion) {
    let string = String::from("abcdefghijklmnopqrst");
    c.bench_function("string clone", move |b| b.iter(|| string.clone()));
}

fn string_from_benchmark(c: &mut Criterion) {
    let string = String::from("uvwxyzaabbccddeeffgg");
    c.bench_function("string from", move |b| {
        b.iter(|| String::from(string.as_str()))
    });
}

fn string_push_str_benchmark(c: &mut Criterion) {
    let mut string = String::default();
    c.bench_function("string push str", move |b| {
        b.iter(|| {
            string.push_str("0123456789123456789");
            string.clear();
            string.shrink_to_fit();
        })
    });
}

fn inlinable_clone_benchmark(c: &mut Criterion) {
    let string = InlinableString::from("hcuahdaidshdaisuhda");
    c.bench_function("inlinable clone", move |b| b.iter(|| string.clone()));
}

fn inlinable_from_benchmark(c: &mut Criterion) {
    let string = "edauhefhiaw na na  ";
    c.bench_function("inlinable from", move |b| {
        b.iter(|| InlinableString::from(string))
    });
}

fn inlinable_push_str_benchmark(c: &mut Criterion) {
    let mut string = InlinableString::default();
    c.bench_function("inlinable push str", move |b| {
        b.iter(|| {
            string.push_str("ddauhifnaoe jaowijd");
            string.clear();
            string.shrink_to_fit();
        })
    });
}

fn smallvecstring_clone_benchmark(c: &mut Criterion) {
    let string = SmallVecString::<<U20 as Capacity>::Array>::from("xhduibabicemlatdhue");
    c.bench_function("smallvecstring clone", move |b| b.iter(|| string.clone()));
}

fn smallvecstring_from_benchmark(c: &mut Criterion) {
    let string = "audshaisdhaisduo8";
    c.bench_function("smallvecstring from", move |b| {
        b.iter(|| SmallVecString::<<U20 as Capacity>::Array>::from(string))
    });
}

fn small_clone_benchmark(c: &mut Criterion) {
    let string = SmallString::from_str_truncate("hhiijjkkllmmneeeepqq");
    c.bench_function("small clone", move |b| b.iter(|| string.clone()));
}

fn small_from_unchecked_benchmark(c: &mut Criterion) {
    let string = "rrssttuuvvwwxxyyzza";
    c.bench_function("small from unchecked", move |b| {
        b.iter(|| unsafe { SmallString::from_str_unchecked(&string) })
    });
}

fn small_from_truncate_benchmark(c: &mut Criterion) {
    let string = "bbbcccdddeeefffgggh";
    c.bench_function("small from truncate", move |b| {
        b.iter(|| SmallString::from_str_truncate(&string))
    });
}

fn small_try_from_benchmark(c: &mut Criterion) {
    let string = "iiijjjkkklllmmmnnnoo";
    c.bench_function("small try from", move |b| {
        b.iter(|| SmallString::try_from_str(&string))
    });
}

fn small_push_str_unchecked_benchmark(c: &mut Criterion) {
    let mut string = SmallString::default();
    c.bench_function("small push str unchecked", move |b| {
        b.iter(|| unsafe {
            string.push_str_unchecked("1413121110987654321");
            string.clear();
        })
    });
}

fn small_push_str_benchmark(c: &mut Criterion) {
    let mut string = SmallString::default();
    c.bench_function("small push str truncate", move |b| {
        b.iter(|| {
            string.push_str("1413121110987654321");
            string.clear();
        })
    });
}

fn small_try_push_str_benchmark(c: &mut Criterion) {
    let mut string = SmallString::default();
    c.bench_function("small try push str", move |b| {
        b.iter(|| {
            string.try_push_str("9897969594939291908").unwrap();
            string.clear();
        })
    });
}

fn cache_clone_benchmark(c: &mut Criterion) {
    let string = CacheString::from_str_truncate("opppqqqrrrssstttuuuv");
    c.bench_function("cache clone", move |b| b.iter(|| string.clone()));
}

fn cache_from_unchecked_benchmark(c: &mut Criterion) {
    let string = "wwwxxxyyyzzzaaaabbbb";
    c.bench_function("cache from unchecked", move |b| {
        b.iter(|| unsafe { CacheString::from_str_unchecked(&string) })
    });
}

fn cache_from_truncate_benchmark(c: &mut Criterion) {
    let string = "ccccddddeeeeffffggggh";
    c.bench_function("cache from truncate", move |b| {
        b.iter(|| CacheString::from_str_truncate(&string))
    });
}

fn cache_try_from_benchmark(c: &mut Criterion) {
    let string = "iiiijjjjkkkkllllmmmmn";
    c.bench_function("cache try from", move |b| {
        b.iter(|| CacheString::try_from_str(&string))
    });
}

fn cache_push_str_unchecked_benchmark(c: &mut Criterion) {
    let mut string = CacheString::default();
    c.bench_function("cache push str unchecked", move |b| {
        b.iter(|| unsafe {
            string.push_str_unchecked("1413121110987654321");
            string.clear();
        })
    });
}

fn cache_push_str_benchmark(c: &mut Criterion) {
    let mut string = CacheString::default();
    c.bench_function("cache push str truncate", move |b| {
        b.iter(|| {
            string.push_str("1413121110987654321");
            string.clear();
        })
    });
}

fn cache_try_push_str_benchmark(c: &mut Criterion) {
    let mut string = CacheString::default();
    c.bench_function("cache try push str", move |b| {
        b.iter(|| {
            string.try_push_str("9897969594939291908").unwrap();
            string.clear();
        })
    });
}

fn max_clone_benchmark(c: &mut Criterion) {
    let string = MaxString::from_str_truncate("ooopppqqqrrrssstttuu");
    c.bench_function("max clone", move |b| b.iter(|| string.clone()));
}

fn max_from_unchecked_benchmark(c: &mut Criterion) {
    let string = "vvvvwwwwxxxxyyyzzzza";
    c.bench_function("max from unchecked", move |b| {
        b.iter(|| unsafe { MaxString::from_str_unchecked(&string) })
    });
}

fn max_from_truncate_benchmark(c: &mut Criterion) {
    let string = "bbbbccccddddeeeeffff";
    c.bench_function("max from truncate", move |b| {
        b.iter(|| MaxString::from_str_truncate(&string))
    });
}

fn max_try_from_benchmark(c: &mut Criterion) {
    let string = "gggghhhhiiiijjjjkkkk";
    c.bench_function("max try from", move |b| {
        b.iter(|| MaxString::try_from_str(&string).unwrap())
    });
}

fn max_push_str_unchecked_benchmark(c: &mut Criterion) {
    let mut string = MaxString::default();
    c.bench_function("max push str unchecked", move |b| {
        b.iter(|| unsafe {
            string.push_str_unchecked("1413121110987654321");
            string.clear();
        })
    });
}

fn max_push_str_benchmark(c: &mut Criterion) {
    let mut string = MaxString::default();
    c.bench_function("max push str truncate", move |b| {
        b.iter(|| {
            string.push_str("1413121110987654321");
            string.clear();
        })
    });
}

fn max_try_push_str_benchmark(c: &mut Criterion) {
    let mut string = MaxString::default();
    c.bench_function("max try push str", move |b| {
        b.iter(|| {
            string.try_push_str("9897969594939291908").unwrap();
            string.clear();
        })
    });
}

criterion_group!(
    string,
    string_clone_benchmark,
    string_from_benchmark,
    string_push_str_benchmark
);
criterion_group!(
    inlinable,
    inlinable_clone_benchmark,
    inlinable_from_benchmark,
    inlinable_push_str_benchmark
);
criterion_group!(
    smallvecstring,
    smallvecstring_clone_benchmark,
    smallvecstring_from_benchmark,
);
criterion_group!(
    small,
    small_clone_benchmark,
    small_try_from_benchmark,
    small_from_unchecked_benchmark,
    small_from_truncate_benchmark,
    small_try_push_str_benchmark,
    small_push_str_unchecked_benchmark,
    small_push_str_benchmark,
);
criterion_group!(
    cache,
    cache_clone_benchmark,
    cache_try_from_benchmark,
    cache_from_unchecked_benchmark,
    cache_from_truncate_benchmark,
    cache_try_push_str_benchmark,
    cache_push_str_unchecked_benchmark,
    cache_push_str_benchmark,
);
criterion_group!(
    max,
    max_clone_benchmark,
    max_try_from_benchmark,
    max_from_unchecked_benchmark,
    max_from_truncate_benchmark,
    max_try_push_str_benchmark,
    max_push_str_unchecked_benchmark,
    max_push_str_benchmark,
);
criterion_main!(string, inlinable, smallvecstring, small, cache, max);

[ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge