|  | @@ -64,6 +64,36 @@ static void BM_ErrorCreateAndSetStatus(benchmark::State& state) {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  BENCHMARK(BM_ErrorCreateAndSetStatus);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +static void BM_ErrorCreateAndSetIntAndStr(benchmark::State& state) {
 | 
	
		
			
				|  |  | +  while (state.KeepRunning()) {
 | 
	
		
			
				|  |  | +    GRPC_ERROR_UNREF(grpc_error_set_str(
 | 
	
		
			
				|  |  | +        grpc_error_set_int(GRPC_ERROR_CREATE("GOAWAY received"),
 | 
	
		
			
				|  |  | +                           GRPC_ERROR_INT_HTTP2_ERROR, (intptr_t)0),
 | 
	
		
			
				|  |  | +        GRPC_ERROR_STR_RAW_BYTES, "raw bytes"));
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +BENCHMARK(BM_ErrorCreateAndSetIntAndStr);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static void BM_ErrorCreateAndSetIntLoop(benchmark::State& state) {
 | 
	
		
			
				|  |  | +  grpc_error* error = GRPC_ERROR_CREATE("Error");
 | 
	
		
			
				|  |  | +  int n = 0;
 | 
	
		
			
				|  |  | +  while (state.KeepRunning()) {
 | 
	
		
			
				|  |  | +    error = grpc_error_set_int(error, GRPC_ERROR_INT_GRPC_STATUS, n++);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  GRPC_ERROR_UNREF(error);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +BENCHMARK(BM_ErrorCreateAndSetIntLoop);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static void BM_ErrorCreateAndSetStrLoop(benchmark::State& state) {
 | 
	
		
			
				|  |  | +  grpc_error* error = GRPC_ERROR_CREATE("Error");
 | 
	
		
			
				|  |  | +  const char* str = "hello";
 | 
	
		
			
				|  |  | +  while (state.KeepRunning()) {
 | 
	
		
			
				|  |  | +    error = grpc_error_set_str(error, GRPC_ERROR_STR_GRPC_MESSAGE, str);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  GRPC_ERROR_UNREF(error);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +BENCHMARK(BM_ErrorCreateAndSetStrLoop);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  static void BM_ErrorRefUnref(benchmark::State& state) {
 | 
	
		
			
				|  |  |    grpc_error* error = GRPC_ERROR_CREATE("Error");
 | 
	
		
			
				|  |  |    while (state.KeepRunning()) {
 |