update dependencies
This commit is contained in:
		@@ -1,19 +1,28 @@
 | 
			
		||||
use criterion::{black_box, criterion_group, criterion_main, Criterion};
 | 
			
		||||
use maxwell::Universe;
 | 
			
		||||
 | 
			
		||||
fn simple_system(w: u32, h: u32) -> Universe {
 | 
			
		||||
    let mut universe = Universe::new(w, h);
 | 
			
		||||
    universe.init(0.0, 0.0);
 | 
			
		||||
    for _ in 0..100 {
 | 
			
		||||
fn advance_system(universe: &mut Universe, n: usize) {
 | 
			
		||||
    for _ in 0..n {
 | 
			
		||||
        universe.advance(0.01);
 | 
			
		||||
    }
 | 
			
		||||
    universe
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn performance_benchmark(c: &mut Criterion) {
 | 
			
		||||
    c.bench_function("complete system", |b| {
 | 
			
		||||
        b.iter(|| simple_system(black_box(25), black_box(30)))
 | 
			
		||||
    let mut group = c.benchmark_group("System");
 | 
			
		||||
    group.sample_size(15);
 | 
			
		||||
 | 
			
		||||
    let w = 35;
 | 
			
		||||
    let h = 26;
 | 
			
		||||
    let mut universe = Universe::new(w, h);
 | 
			
		||||
 | 
			
		||||
    group.bench_function("advance", |b| {
 | 
			
		||||
        b.iter(|| {
 | 
			
		||||
            universe.init(0.0, 0.0);
 | 
			
		||||
            advance_system(&mut universe, black_box(20))
 | 
			
		||||
        })
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    group.finish();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
criterion_group!(benches, performance_benchmark);
 | 
			
		||||
 
 | 
			
		||||
@@ -96,7 +96,7 @@ fn upwind4_test() {
 | 
			
		||||
    }
 | 
			
		||||
    res.fill(0.0);
 | 
			
		||||
    Upwind4::diff(source.view(), res.view_mut());
 | 
			
		||||
    assert!(res.all_close(&target, 1e-4));
 | 
			
		||||
    approx::assert_abs_diff_eq!(&res, &target, epsilon = 1e-4);
 | 
			
		||||
 | 
			
		||||
    for i in 0..nx {
 | 
			
		||||
        let x = i as f32 * dx;
 | 
			
		||||
@@ -105,7 +105,7 @@ fn upwind4_test() {
 | 
			
		||||
    }
 | 
			
		||||
    res.fill(0.0);
 | 
			
		||||
    Upwind4::diff(source.view(), res.view_mut());
 | 
			
		||||
    assert!(res.all_close(&target, 1e-4));
 | 
			
		||||
    approx::assert_abs_diff_eq!(&res, &target, epsilon = 1e-4);
 | 
			
		||||
 | 
			
		||||
    for i in 0..nx {
 | 
			
		||||
        let x = i as f32 * dx;
 | 
			
		||||
@@ -114,7 +114,7 @@ fn upwind4_test() {
 | 
			
		||||
    }
 | 
			
		||||
    res.fill(0.0);
 | 
			
		||||
    Upwind4::diff(source.view(), res.view_mut());
 | 
			
		||||
    assert!(res.all_close(&target, 1e-2));
 | 
			
		||||
    approx::assert_abs_diff_eq!(&res, &target, epsilon = 1e-2);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl SbpOperator for Upwind4 {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user