pub struct OrderingCost {
pub ordering: BlobOrdering,
pub scrub: QueryCost,
pub pan: QueryCost,
pub total_reads: u64,
pub total_bytes_read: u64,
pub cost: u64,
}Expand description
Aggregate cost of one ordering across the canonical query mix.
Fields§
§ordering: BlobOrdering§scrub: QueryCost§pan: QueryCost§total_reads: u64§total_bytes_read: u64§cost: u64Blended cost in bytes-equivalent: total_bytes_read + total_reads * gap.
The reader over-reads up to gap bytes to save one request, so it prices
a request at exactly gap bytes — this is the same trade the coalescer
makes, so ranking by it is self-consistent. Request count alone is a
broken proxy (fusing an entire archive into “1 read” of hundreds of MiB
would look free); bytes alone ignores per-request latency.
Trait Implementations§
Source§impl Clone for OrderingCost
impl Clone for OrderingCost
Source§fn clone(&self) -> OrderingCost
fn clone(&self) -> OrderingCost
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for OrderingCost
Auto Trait Implementations§
impl Freeze for OrderingCost
impl RefUnwindSafe for OrderingCost
impl Send for OrderingCost
impl Sync for OrderingCost
impl Unpin for OrderingCost
impl UnsafeUnpin for OrderingCost
impl UnwindSafe for OrderingCost
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more