|  | @@ -167,13 +167,24 @@ fn from_str_radix_36(b: &mut Bencher) {
 | 
	
		
			
				|  |  |      from_str_radix_bench(b, 36);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +#[bench]
 | 
	
		
			
				|  |  | +fn shl(b: &mut Bencher) {
 | 
	
		
			
				|  |  | +    let n = BigUint::one() << 1000;
 | 
	
		
			
				|  |  | +    b.iter(|| {
 | 
	
		
			
				|  |  | +        let mut m = n.clone();
 | 
	
		
			
				|  |  | +        for i in 0..50 {
 | 
	
		
			
				|  |  | +            m = m << i;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  #[bench]
 | 
	
		
			
				|  |  |  fn shr(b: &mut Bencher) {
 | 
	
		
			
				|  |  | -    let n = { let one : BigUint = One::one(); one << 1000 };
 | 
	
		
			
				|  |  | +    let n = BigUint::one() << 2000;
 | 
	
		
			
				|  |  |      b.iter(|| {
 | 
	
		
			
				|  |  |          let mut m = n.clone();
 | 
	
		
			
				|  |  | -        for _ in 0..10 {
 | 
	
		
			
				|  |  | -            m = m >> 1;
 | 
	
		
			
				|  |  | +        for i in 0..50 {
 | 
	
		
			
				|  |  | +            m = m >> i;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      })
 | 
	
		
			
				|  |  |  }
 |