| 
					
					
					
				 | 
				@ -1,16 +1,5 @@ | 
			
		
		
	
		
			
				 | 
				 | 
				use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion, Throughput};
 | 
				 | 
				 | 
				use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion, Throughput};
 | 
			
		
		
	
		
			
				 | 
				 | 
				use gntag::agent::{Agent, SimpleAgent};
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				use gntag::world::ActualWorld;
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				fn get_world(width: isize, spacing: usize, validate: bool) -> ActualWorld {
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  let mut agents = vec![];
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  for x in (0..width).step_by(spacing) {
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    for y in (0..width).step_by(spacing) {
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      agents.push(((x, y).into(), Box::new(SimpleAgent) as Box<dyn Agent>));
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  }
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  ActualWorld::new((width, width).into(), agents, validate)
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				}
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				use gntag::get_world;
 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				fn world(c: &mut Criterion) {
 | 
				 | 
				 | 
				fn world(c: &mut Criterion) {
 | 
			
		
		
	
		
			
				 | 
				 | 
				  let mut group = c.benchmark_group("world");
 | 
				 | 
				 | 
				  let mut group = c.benchmark_group("world");
 | 
			
		
		
	
	
		
			
				| 
					
					
					
						
							
						
					
				 | 
				@ -21,7 +10,7 @@ fn world(c: &mut Criterion) { | 
			
		
		
	
		
			
				 | 
				 | 
				      BenchmarkId::new("validating", spacing),
 | 
				 | 
				 | 
				      BenchmarkId::new("validating", spacing),
 | 
			
		
		
	
		
			
				 | 
				 | 
				      &spacing,
 | 
				 | 
				 | 
				      &spacing,
 | 
			
		
		
	
		
			
				 | 
				 | 
				      |b, &spacing| {
 | 
				 | 
				 | 
				      |b, &spacing| {
 | 
			
		
		
	
		
			
				 | 
				 | 
				        let mut world = get_world(width, spacing as usize, true);
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        let mut world = get_world(width, width, spacing as usize, true);
 | 
			
		
		
	
		
			
				 | 
				 | 
				        b.iter(|| world.do_step());
 | 
				 | 
				 | 
				        b.iter(|| world.do_step());
 | 
			
		
		
	
		
			
				 | 
				 | 
				      },
 | 
				 | 
				 | 
				      },
 | 
			
		
		
	
		
			
				 | 
				 | 
				    );
 | 
				 | 
				 | 
				    );
 | 
			
		
		
	
	
		
			
				| 
					
					
					
						
							
						
					
				 | 
				@ -29,7 +18,7 @@ fn world(c: &mut Criterion) { | 
			
		
		
	
		
			
				 | 
				 | 
				      BenchmarkId::new("non-validating", spacing),
 | 
				 | 
				 | 
				      BenchmarkId::new("non-validating", spacing),
 | 
			
		
		
	
		
			
				 | 
				 | 
				      &spacing,
 | 
				 | 
				 | 
				      &spacing,
 | 
			
		
		
	
		
			
				 | 
				 | 
				      |b, &spacing| {
 | 
				 | 
				 | 
				      |b, &spacing| {
 | 
			
		
		
	
		
			
				 | 
				 | 
				        let mut world = get_world(width, spacing as usize, false);
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        let mut world = get_world(width, width, spacing as usize, false);
 | 
			
		
		
	
		
			
				 | 
				 | 
				        b.iter(|| world.do_step());
 | 
				 | 
				 | 
				        b.iter(|| world.do_step());
 | 
			
		
		
	
		
			
				 | 
				 | 
				      },
 | 
				 | 
				 | 
				      },
 | 
			
		
		
	
		
			
				 | 
				 | 
				    );
 | 
				 | 
				 | 
				    );
 | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
					
				 | 
				
  |