perf(core): use quanta::Instant for hot-path timing (#2384)

Replace std::time::Instant with quanta::Instant on per-packet, per-RPC,
and per-session paths. TSC-based, ~5ns vs ~25ns per now() call.

Reuses the existing `extern crate self as hotpath` alias so
`use hotpath::instant::Instant;` resolves to the same quanta type with
or without the hotpath feature. Leaves tokio::time::Instant and
smoltcp::time::Instant untouched.
This commit is contained in:
fanyang
2026-06-28 10:43:55 +08:00
committed by GitHub
parent be2034dd06
commit 7205517160
32 changed files with 123 additions and 80 deletions
+2 -1
View File
@@ -6,6 +6,7 @@ use std::{
time::Duration,
};
use hotpath::instant::Instant;
use rand::{Rng, thread_rng};
use tokio::{
sync::broadcast,
@@ -177,7 +178,7 @@ impl PeerConnPinger {
sink.send(req).await?;
control_metrics.record_tx(req_len);
let now = std::time::Instant::now();
let now = Instant::now();
// wait until we get a pong packet in ctrl_resp_receiver
let resp = timeout(Duration::from_secs(2), async {
loop {