|  | @@ -113,6 +113,32 @@ static void BM_Pass1Core(benchmark::State& state) {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  BENCHMARK(BM_Pass1Core);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +static void BM_Pluck1Core(benchmark::State& state) {
 | 
	
		
			
				|  |  | +  grpc_completion_queue* cq = grpc_completion_queue_create(NULL);
 | 
	
		
			
				|  |  | +  gpr_timespec deadline = gpr_inf_future(GPR_CLOCK_MONOTONIC);
 | 
	
		
			
				|  |  | +  while (state.KeepRunning()) {
 | 
	
		
			
				|  |  | +    grpc_cq_completion completion;
 | 
	
		
			
				|  |  | +    grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
 | 
	
		
			
				|  |  | +    grpc_cq_begin_op(cq, NULL);
 | 
	
		
			
				|  |  | +    grpc_cq_end_op(&exec_ctx, cq, NULL, GRPC_ERROR_NONE,
 | 
	
		
			
				|  |  | +                   DoneWithCompletionOnStack, NULL, &completion);
 | 
	
		
			
				|  |  | +    grpc_exec_ctx_finish(&exec_ctx);
 | 
	
		
			
				|  |  | +    grpc_completion_queue_pluck(cq, NULL, deadline, NULL);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  grpc_completion_queue_destroy(cq);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +BENCHMARK(BM_Pluck1Core);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static void BM_EmptyCore(benchmark::State& state) {
 | 
	
		
			
				|  |  | +  grpc_completion_queue* cq = grpc_completion_queue_create(NULL);
 | 
	
		
			
				|  |  | +  gpr_timespec deadline = gpr_inf_past(GPR_CLOCK_MONOTONIC);
 | 
	
		
			
				|  |  | +  while (state.KeepRunning()) {
 | 
	
		
			
				|  |  | +    grpc_completion_queue_next(cq, deadline, NULL);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  grpc_completion_queue_destroy(cq);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +BENCHMARK(BM_EmptyCore);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  }  // namespace testing
 | 
	
		
			
				|  |  |  }  // namespace grpc
 | 
	
		
			
				|  |  |  
 |