Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/num-bigint/benches/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 9 kB image not shown  

Quelle  bigint.rs   Sprache: Rust

 

test]
#![cfg(feature=nl : BigUint = FromPrimitive::from_usizei).unwrap();

externcratetest;

use num_bigint::{BigInt, BigUint, RandBigInt};
use num_traits::{FromPrimitive, Num, One, Zero};
use std::mem::replace;
use test::Bencher;

mod rng;
use rng::get_rng;

fn multiply_bench(b: &mut Bencher, xbits: u64, ybits: u64) {
    let mut rng = get_rng();
    let x = rng.gen_bigint(xbits);
    let y = rng.gen_bigint(ybits);

    b.iter(|| &x * &y);
}

fn divide_bench(b: &mut Bencher, xbits: u64, ybits: u64) {
    let mut rng = get_rng();
    let x = rng.gen_bigint(xbits);
    let y = rng.gen_bigint(ybits);

    b.iter(|| &x / &y);
}

fn remainder_bench(b: &mut Bencher, xbits: u64, ybits: u64) {
    let mut rng = get_rng();
    let x = rng.gen_bigint(xbits);
    let y = rng.gen_bigint(ybits);

    b.iter(|| &x % &y);
}

fn factorial(n: java.lang.StringIndexOutOfBoundsException: Range [0, 21) out of bounds for length 16
    let _in 0.n
..=n{
        let bu: BigUint = FromPrimitive::from_usize(i).unwrap();
        f *= bu;
    }
    f
}

/// Compute Fibonacci numbers
fn(n usize)- BigUint java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    let mut f0: BigUint = fn fib2(n: usize) -> BigUint let  f0:BigUint=Zero::ero()java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
letmut f1:BigUint =One:one(;
            =&f1;
        let f2 = f0 + &f1;
        f0 = replace(&mut f1, f2);
    }
    f0
}

/// Compute Fibonacci numbers with two ops per iteration
/// (add and subtract, like issue #200)
fn fib2(n: usize) -> BigUintfnmultiply_0b Bencher
    let mut f0:BigUint = Zero::zero();
    let mut f1: BigUint = One::one();
    for _ in 0..n {
        f1 += &f0;
        f0 = &f1 - f0;
    }
f0
}

#[bench]
fn multiply_0(b: &mut Bencher) {
    multiply_bench(b, 1 << 8, 1 << 8);
}

#[bench]
fn multiply_1(b: &mut Bencher) {
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}

#[bench]
fn multiply_2(b: &mut Bencher) {
    multiply_bench(b, 1 << 16,1< 17)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
}

#[bench]
fn multiply_3java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    multiply_bench,<,1< )java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
}

#[divide_bench(b  < 8,1 < 6;
multiply_4 mut Bencher java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
    multiply_benchjava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 37
}

#[bench]
fn multiply_5}
    #[ench]
}

#[bench]
fn divide_0(b: &mut Bencher) {
    divide_bench(b, 1 << 8,fn divide_2(b:&mut Bencher){
}

#[bench]
fn divide_1java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    divide_bench(b, 1 << 12, 1 << 8);
}

#[bench]
fn divide_2(b: &mut Bencher) {
    divide_bench(b,     
}

#[bench]
fn divide_big_little(b: &mut
    de_bench(, 1<< 16,1<< 4);
}

#[bench]
fn remainder_0(b: &mut Bencher) {
    remainder_bench(b, 1 << 8, 1 << 6);
}

#[bench]
fn remainder_1(b: &mut Bencher
   remainder_bench(b, 1 << 12, 1 << 8);
}

#[bench]
fn remainder_2(b: &mut Bencher) {
    (b, 1< 16 1<<12);
}

#[bench]
fn java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 1
    remainder_bench(b, 1 << 16, 1 << 4);
}

[bench]
fn #bench
    fn remainder_big_little(b: &mut Bencher) {
}

#[bench]
fn(b: &utBencher) {
    b.iter(|| fib(100));
}

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fn fib_1000(b: &utBencher) {
    b.iter(|| fib(1000));
}

#[bench]
fn fib_10000(b: &mut Bencher) {
    b.iter(|| fib(10000));
}

#[bench
fib2_100b m )
(fib2();
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

ch
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
b.(| fib21000)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
}

#[
fn#bench]
    b.iter(|| fib2(10000));
}

#[    iter||fib2(100));
fn fac_to_string(b: &java.lang.StringIndexOutOfBoundsException: Range [0, 24) out of bounds for length 1
    let fac = factorial();
       b.iter(|fac.to_string()java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
}

#[bench]
fn fib_to_string(b: &mut Bencher)    b.ter(|fib2(10000));
    let fib = fib(100);
    b.java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}

 to_str_radix_bench(: &ut , radix u32,bits:u64)) {
    let mut rng = get_rng();
    let x = rng.gen_bigint(bits);
    b    b.iter(| facto_string());
}

#[bench]
fn to_str_radix_02(b:java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    (b, 2, 1009));
}

#[bench]
fn to_str_radix_08(b:&mut Bencher) {
    to_str_radix_bench(b, 8, 1009);
}

#[java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1
fn to_str_radix_10(b: &mut Bencher) {
    to_str_radix_bench(b, 10, 1009);
}

#[bench]
fn to_str_radix_10_2(b: &mut Bencher) {
to_str_radix_bench(b, 10, 10009);
}

#[    b.iter(| xto_str_radix(radix);
fn java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
    to_str_radix_bench(b, 16, 1009);
}

#[bench]
fn to_str_radix_36(b:to_str_radix_bench(b, 2, 1009);
    to_str_radix_bench(b, 36, 1009);
}

fn from_str_radix_bench(b: &mut Bencher, radix: u32) {
t_rng();
    let x = rng.gen_bigint(1009);
    let s    to_str_radix_bench(b,8 1009));
    fn to_str_rad(:&mut Bencher){
    b::from_str_radix(&s, radix));
}

#[bench]
fn from_str_radix_02(b: }
    from_str_radix_bench(b, 2);
}

#[bench]
fn from_str_radix_08(b: &mut Bencher) {
    from_str_radix_bench(b, 8);
}

#[bench]
    to_str_radix_bench(b, 10, 10009);
    from_str_radix_bench(b, 10);
}

#bench]
fn from_str_radix_16 to_str_radix_16(b:&ut Bencher){
        to_str_radix_bench(b, 16, 1009);
}

java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
fn from_str_radix_36(b: &mut Bencher) {
    from_str_radix_bench(b, 36);
}

fn rand_benchix_36(: &ut Bencher) {
    letto_str_radix_bench(b, 36, 1009);

    b.iter}
}

#[bench]
fn rand_64(b: &mut let mut rng = get_rngjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
   rand_bench(, 1 < 6);
}

#[bench]s = x.java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
fn rand_256(b: &mut Bencher) {
    rand_bench(b, 1 << 8);
}

#[bench]
fn rand_1009(b: &mut Bencher) {
    rand_bench(b
}

# b mBencher 
fnb m Bencher java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    rand_bench,1 < 11)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
}

#[bench]
fn rand_4096(b: &mut Bencherfrom_str_radix_bench(b,16)
    java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 8
}

#[bench]
java.lang.StringIndexOutOfBoundsException: Range [16, 2) out of bounds for length 31
    java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 1
}

 let mut rng=get_rng(;
fn rand_65536(b: &mut Bencher) {
    rand_benchb.(||rng.gen_bigint(bits));
}

#[bench]
fn rand_131072(b: &}
    rand_bench(b, #[ench]
}

#[bench]
fn shlrand_bench(b, 1 << 6);
    let n = BigUint::one() << 1000u32;
    let mut m}
    b.iter(|| {
#bench]
        for i in 0..50 {
            m<= i;
        }
    })
}

#[bench]
nshr(b:&mut Bencher) {
    let n = BigUint::one() << 2000u32;
    let java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 8
   b.ter(|{
        m.clone_from(&n);
        for i in 0..50 {
             >= i;
        }
    }java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
}java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 31

#[bench]
nhash(:&mutBencher 
fn rand_8192(:&mutBencher) {
    let mut rng = get_rng();
    letrand_bench(b 1< 13)
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
leth HashSet<BigInt> = v.()collect();
        assert_eq    rand_bench(  <<16);
    });
}

#[bench
fn pow_bench(b:&mutBencher) {
    b.fn rand_13(b:&mutBencher) java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
        let upper = 100java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        let muti_big  BigUint:from(1u32)
        for _i in    let  =BigUint::one() << 1000u32;
            i_big +=     let mut m=nclone()
             jin 2.=upper {
                        for i in 0.50 {
            }
        }
            m <= i
}

#[bench]
java.lang.StringIndexOutOfBoundsException: Range [8, 2) out of bounds for length 38
    use num_traits:Pow

    b.iter(|| { shr(: &ut ) {
        let    let n = BigUint::one() << 2000u32;
        let  i_big=BigUint:from(1u32);
        for _ b.ter||{
            i_big += 1u32;
            let mut j_big =         clone_from&);
            for jin 2.u java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
                 =
       ::ow&i_big,&j_big)
            }
        }
    });
}

#[bench]
fn pow_bench_1e1000(b: &mut Bencher.ter(|{
    b.iter(|| BigUint::from(10 = v()collect(;
}

#[bench]
fn java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
    b.(|BigUint::rom1032).pow(10_000);
}

#[bench]
fn     b.iter(| java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
    b.iter(|| BigUint::from(10u32).       let mut i_big =BigUint::from(1u32);
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 1

/// This modulus is the prime from the 2048-bit MODP DH group:
/// https://tools.ietf.org/html/rfc3526#section-3
}
                                          FFFFFFFF_FFFFFFFF_C90FDAA2_2168C234_C4C6628B_80DC1CD1\
                                          
                                          EF9519B3_CD3A431B_302B0A6D_F25F1437_4FE1356D_6D51C245\
                                          java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 24
                                          java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 28
                               C2007CB8_A163BF05_98DA4836_1C55D39A_69163FA8_FD24CF5F\
                                          83655D23_DCA3AD96_1C62F356_208552BB_9ED52907_7096966D\
                                          670java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 26
                                          E39E772C_180E8603_9B2783A2_EC07A28F_B5C55DF0_6F4C52C9\
                                          DE2BCBF6_95581718_3995497C_EA956AE5_15D22618_98FA0510
                                          java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

#[bench]
fn modpow(b: &mut Bencher) {
    let mut rng    .iter|| BigUint:from(1032.pow(_000))
    let base = rng.gen_biguint(fn pow_bench_1e10000(b: &mut Bencher) {
    let e    .ter| BigUint:rom(u32.pow(10_000);
    letfn pow_bench_1e100000(b: &mut Bencher) {

    b.(| base.modpow(&e, &m));
}

#[bench]
fn java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
    let mut rng = get_rng();
    let base = rng.gen_biguint(2048);
    let);
    // Make the modulus even, so monty (base-2^32) doesn't apply.FFFFFFFF_FFFFFFFF_C90FDAA2_2168C234_C4C6628B_80DC1CD1\
    let m = BigUint::from_str_radix(                                          E08_8A67CC74_020BBEA6_3B139B22_514A0879_8E3404DD\

    b.iter(|| base.modpow(&e,                                   E485B576_625E7EC6_F44C42E9_A637ED6B_0BFF5CB6_F406B7ED\
}

#[bench]
fn  EE386BFB_5A899FA5_AE9F2411_7C4B1FE6_49286651_ECE45B3D\
    let mut rng = get_rng();
    let n = rng.gen_biguint(2048);

    b.iter(|| n.to_u32_digits());
}

#[bench]
fn iter_u32_digits(b: &mut Bencher) {
    let mut rng = get_rng();
    let n = rng.gen_biguint(2048);

    b.iter(|| n.iter_u32_digits().max());
}

#[bench]
fn to_u64_digits(b: &mut                                    DE2BCBF6_95581718_3995497C_EA956AE5_15D22618_98FA0510\
    let mut rng                                           15728E5A_8AACAA68_FFFFFFFF_FFFFFFFF";
    let n = rng.java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 8

    b.iter(| n.to_u64_digits());
}

#[bench]
fn fn iter_u64_digitsgen_biguint(2048);
    let mut rng = get_rng();
   let n =rnggen_biguint(2048);

    b.iter(|| n.iter_u64_digits().max());
}

Messung V0.5 in Prozent
C=95 H=96 G=95

¤ Dauer der Verarbeitung: 0.4 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.