mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-09-09 22:11:02 +03:00
scrap/benchmark: give the Duration divisor an explicit u32
The webrtc feature pulls time 0.3 into scrap's graph (hbb_common ->
webrtc -> webrtc-dtls -> der-parser -> asn1-rs), and that crate carries
an `impl Div<time::Duration> for std::time::Duration`. Orphan rules
allow it because the RHS is its own type, and trait impls are visible
across the whole dependency graph without a use, so std::time::Duration
now has two Div candidates. `yuv_count as _` casts to a plain inference
variable, which both candidates fit, so it stops resolving:
error[E0282]: type annotations needed
--> libs/scrap/examples/benchmark.rs:146:33
Only two of the four sites are reported - rustc emits one E0282 per
function body - so all four are annotated. The already-explicit
`as u32` at the hwcodec site and `start.elapsed() / cnt` are unaffected,
the latter because an integer literal's variable can only unify with an
integral type and rules the time impl out on its own.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -143,7 +143,7 @@ fn test_vpx(
|
|||||||
println!(
|
println!(
|
||||||
"{:?} encode: {:?}, {} byte",
|
"{:?} encode: {:?}, {} byte",
|
||||||
codec_id,
|
codec_id,
|
||||||
time_sum / yuv_count as _,
|
time_sum / yuv_count as u32,
|
||||||
size / yuv_count
|
size / yuv_count
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -156,7 +156,7 @@ fn test_vpx(
|
|||||||
println!(
|
println!(
|
||||||
"{:?} decode: {:?}",
|
"{:?} decode: {:?}",
|
||||||
codec_id,
|
codec_id,
|
||||||
start.elapsed() / yuv_count as _
|
start.elapsed() / yuv_count as u32
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,7 +212,7 @@ fn test_av1(
|
|||||||
assert_eq!(av1s.len(), yuv_count);
|
assert_eq!(av1s.len(), yuv_count);
|
||||||
println!(
|
println!(
|
||||||
"AV1 encode: {:?}, {} byte",
|
"AV1 encode: {:?}, {} byte",
|
||||||
time_sum / yuv_count as _,
|
time_sum / yuv_count as u32,
|
||||||
size / yuv_count
|
size / yuv_count
|
||||||
);
|
);
|
||||||
let mut decoder = AomDecoder::new().unwrap();
|
let mut decoder = AomDecoder::new().unwrap();
|
||||||
@@ -221,7 +221,7 @@ fn test_av1(
|
|||||||
let _ = decoder.decode(&av1);
|
let _ = decoder.decode(&av1);
|
||||||
let _ = decoder.flush();
|
let _ = decoder.flush();
|
||||||
}
|
}
|
||||||
println!("AV1 decode: {:?}", start.elapsed() / yuv_count as _);
|
println!("AV1 decode: {:?}", start.elapsed() / yuv_count as u32);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "hwcodec")]
|
#[cfg(feature = "hwcodec")]
|
||||||
|
|||||||
Reference in New Issue
Block a user