pub struct DijkstraPerformanceCounter {
pub iterations: u64,
pub unnecessary_heap_elements: u64,
/* private fields */
}
Expand description
A simple performance counter for Dijkstra’s algorithm, keeping all supported counts.
Fields§
§iterations: u64
The number of iterations of the main loop of Dijkstra’s algorithm.
unnecessary_heap_elements: u64
The number of unnecessary heap elements.
Trait Implementations§
source§impl AddAssign<DijkstraPerformanceCounter> for DijkstraPerformanceCounter
impl AddAssign<DijkstraPerformanceCounter> for DijkstraPerformanceCounter
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+=
operation. Read moresource§impl Clone for DijkstraPerformanceCounter
impl Clone for DijkstraPerformanceCounter
source§fn clone(&self) -> DijkstraPerformanceCounter
fn clone(&self) -> DijkstraPerformanceCounter
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for DijkstraPerformanceCounter
impl Debug for DijkstraPerformanceCounter
source§impl Default for DijkstraPerformanceCounter
impl Default for DijkstraPerformanceCounter
source§fn default() -> DijkstraPerformanceCounter
fn default() -> DijkstraPerformanceCounter
Returns the “default value” for a type. Read more
source§impl DijkstraPerformanceData for DijkstraPerformanceCounter
impl DijkstraPerformanceData for DijkstraPerformanceCounter
source§fn add_iteration(&mut self)
fn add_iteration(&mut self)
Increment the number of iterations of the main loop of Dijkstra’s algorithm.
source§fn add_unnecessary_heap_element(&mut self)
fn add_unnecessary_heap_element(&mut self)
Increment the number of heap elements that already have a lower weight than what was stored in the heap.
These are wasted cycles because our heap does not support the
decrease_key
operation.source§fn record_heap_size(&mut self, heap_size: usize)
fn record_heap_size(&mut self, heap_size: usize)
Record the current heap size of Dijkstra’s algorithm.
source§fn record_distance_array_size(&mut self, distance_array_size: usize)
fn record_distance_array_size(&mut self, distance_array_size: usize)
Record the current distance array size of Dijkstra’s algorithm.
source§fn finish_dijkstra(&mut self)
fn finish_dijkstra(&mut self)
Finish an invocation of Dijkstra’s algorithm.
Performs finalisation of recorded metrics that are local to single Dijkstra invocations.
source§fn iterations(&self) -> Option<u64>
fn iterations(&self) -> Option<u64>
Get the number of iterations of the main loop of Dijkstra’s algorithm.
source§fn unnecessary_heap_elements(&self) -> Option<u64>
fn unnecessary_heap_elements(&self) -> Option<u64>
Get the number of unnecessary heap elements that were inserted during Dijkstra’s algorithm.
source§fn max_max_heap_size(&self) -> Option<usize>
fn max_max_heap_size(&self) -> Option<usize>
Get the maximum heap size encountered at any point during execution.
source§fn max_max_distance_array_size(&self) -> Option<usize>
fn max_max_distance_array_size(&self) -> Option<usize>
Get the maximum distance array size encountered at any point during execution.
source§fn average_max_heap_size(&self) -> Option<f64>
fn average_max_heap_size(&self) -> Option<f64>
Get the maximum heap size as average over all invocations of Dijkstra’s algorithm.
source§fn average_max_distance_array_size(&self) -> Option<f64>
fn average_max_distance_array_size(&self) -> Option<f64>
Get the maximum distance array size as average over all invocations of Dijkstra’s algorithm.
source§impl PartialEq<DijkstraPerformanceCounter> for DijkstraPerformanceCounter
impl PartialEq<DijkstraPerformanceCounter> for DijkstraPerformanceCounter
source§fn eq(&self, other: &DijkstraPerformanceCounter) -> bool
fn eq(&self, other: &DijkstraPerformanceCounter) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for DijkstraPerformanceCounter
impl StructuralEq for DijkstraPerformanceCounter
impl StructuralPartialEq for DijkstraPerformanceCounter
Auto Trait Implementations§
impl RefUnwindSafe for DijkstraPerformanceCounter
impl Send for DijkstraPerformanceCounter
impl Sync for DijkstraPerformanceCounter
impl Unpin for DijkstraPerformanceCounter
impl UnwindSafe for DijkstraPerformanceCounter
Blanket Implementations§
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
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.