Struct TimingUpkeep

Source
pub struct TimingUpkeep { /* private fields */ }
Expand description

Upkeep handle for the high-performance timing system

Implementations§

Source§

impl TimingUpkeep

Source

pub fn start(update_interval: Duration) -> Self

Create and start a new timing upkeep thread

This configures the quanta crate’s “recent time” feature, which provides ultra-low-overhead access to a slightly-delayed global time. This is useful for high-performance applications where the cost of time queries is significant.

The upkeep thread updates the global time value at the specified interval, allowing other threads to read it without the overhead of a full time query.

§Arguments
  • update_interval - How often to update the global time (smaller values provide more accurate time but increase CPU usage)
§Returns

A handle to the upkeep thread. The thread runs until this handle is dropped.

Source

pub const fn is_active(&self) -> bool

Check if this upkeep is active

Source

pub fn update_recent_time()

Manually update the global recent time

This is useful if you don’t want to use the upkeep thread but still want to occasionally update the global time.

Source

pub fn now() -> Instant

Get the current time using the most efficient method available

This function uses the ultra-low-overhead recent time if available, falling back to a regular time query if not.

Source

pub fn now_ns() -> u64

Get the current timestamp in nanoseconds

This function uses the ultra-low-overhead recent time if available, falling back to a regular time query if not.

Trait Implementations§

Source§

impl Debug for TimingUpkeep

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for TimingUpkeep

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,