pub struct PartitionConfig {
pub k: usize,
pub max_size: usize,
pub max_imbalance: f64,
pub seeds: Option<Vec<i64>>,
}Expand description
Configuration for k-way partitioning.
Controls the behavior of partition_kway and partition_kway_with_progress.
§Fields
k: Number of partitions (default: 2)max_size: Maximum nodes per partition for balance (default: usize::MAX)max_imbalance: Allowed size deviation as ratio (default: 0.1 for 10%)seeds: Optional seed nodes for each partition (indices 0..k)
§Example
ⓘ
// Balanced 4-way partitioning
let config = PartitionConfig {
k: 4,
max_size: 100,
max_imbalance: 0.15, // Allow 15% imbalance
seeds: None, // Auto-select seeds by degree
};
// Use specific seed nodes
let config = PartitionConfig {
k: 3,
..Default::default()
};
config.seeds = Some(vec![1, 5, 10]); // Use these as seedsFields§
§k: usizeNumber of partitions (default: 2, must be >= 2)
max_size: usizeMaximum nodes per partition (for balance, default: usize::MAX)
max_imbalance: f64Maximum allowed size imbalance as ratio (default: 0.1 for 10%)
seeds: Option<Vec<i64>>Optional seed nodes for each partition (indices 0..k)
Trait Implementations§
Source§impl Clone for PartitionConfig
impl Clone for PartitionConfig
Source§fn clone(&self) -> PartitionConfig
fn clone(&self) -> PartitionConfig
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 moreSource§impl Debug for PartitionConfig
impl Debug for PartitionConfig
Auto Trait Implementations§
impl Freeze for PartitionConfig
impl RefUnwindSafe for PartitionConfig
impl Send for PartitionConfig
impl Sync for PartitionConfig
impl Unpin for PartitionConfig
impl UnsafeUnpin for PartitionConfig
impl UnwindSafe for PartitionConfig
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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