pub enum JeNetworkMethod {
Cartesian,
A,
}Expand description
Method used to construct edges from journal entries when writing
graphs/je_network.csv (v5.8.0+).
Reference: Ivertowski (2024), Hardware Accelerated Method for Accounting Network Generation, Methods A through E.
Variants§
Cartesian
Method B (full Cartesian product) for every JE — bijective on
2-line entries (Method A) and n × m Cartesian for multi-line
entries with proportional amount allocation. Produces
O(n × m) edges per JE — a 50-debit / 50-credit period-close
consolidation alone yields 2 500 edges, and a typical
HF-scale 1 M-line config can blow up to 200 M+ edges (and tens
of GB of memory). Use explicitly when downstream consumers
already depend on the Cartesian shape.
A
Method A only — emit a single edge per 2-line journal entry
(1 debit + 1 credit) and skip multi-line entries entirely.
Edge count = number of 2-line JEs (≈ 60 % of entries per the
2024 paper); per-edge confidence is exactly 1.0.
Default since v5.27 (previously Cartesian). The Cartesian
default OOM’d small-complexity CLI smoke tests on 14-16 GB CI
runners — a 50 × 50 period-close JE alone wanted 20 GB of edge
memory. Method A is the bounded, exactness-preserving fallback
recommended for published reference datasets where size and
exactness matter more than recall on multi-line consolidations.
Set je_network.method: cartesian explicitly to restore the
pre-v5.27 behaviour.
Trait Implementations§
Source§impl Clone for JeNetworkMethod
impl Clone for JeNetworkMethod
Source§fn clone(&self) -> JeNetworkMethod
fn clone(&self) -> JeNetworkMethod
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for JeNetworkMethod
Source§impl Debug for JeNetworkMethod
impl Debug for JeNetworkMethod
Source§impl Default for JeNetworkMethod
impl Default for JeNetworkMethod
Source§fn default() -> JeNetworkMethod
fn default() -> JeNetworkMethod
Source§impl<'de> Deserialize<'de> for JeNetworkMethod
impl<'de> Deserialize<'de> for JeNetworkMethod
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for JeNetworkMethod
Source§impl PartialEq for JeNetworkMethod
impl PartialEq for JeNetworkMethod
Source§fn eq(&self, other: &JeNetworkMethod) -> bool
fn eq(&self, other: &JeNetworkMethod) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for JeNetworkMethod
impl Serialize for JeNetworkMethod
impl StructuralPartialEq for JeNetworkMethod
Auto Trait Implementations§
impl Freeze for JeNetworkMethod
impl RefUnwindSafe for JeNetworkMethod
impl Send for JeNetworkMethod
impl Sync for JeNetworkMethod
impl Unpin for JeNetworkMethod
impl UnsafeUnpin for JeNetworkMethod
impl UnwindSafe for JeNetworkMethod
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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>
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.