on_hdr() checks if a void-return function pointer is null before jumping to it.
If it is null, it returns an error; else it executes that function and returns
success.
This change converts the void-returning function to one that returns a
grpc_error* and thus saves a branch in on_hdr() (since we're branching once by
following the function pointer anyways, we're effectively coalescing these two
branches).
We are using clock real time (which is very expensive) on every
RPC to update channelz. We should simply use cycle clock.
This patch exposes cycle clock, enables RDTSC on intel,
and use it for channelz.
This patch also changes the implementation of time_precise_init
to that more accurately using the monotonic clock and
shorter by looping at most a few hundred milliseconds.
This is part of a larger performance series.
Several asserts in grpc_chttp2_stream_map_find() can be converted to debug
asserts. This PR also templatizes the internal find() method to have it be
strict in the delete case (which saves some branches).