From 8ffe6a097cdbf9d1b4bc28b8a42273584d43eacc Mon Sep 17 00:00:00 2001 From: Dragoljub Duric Date: Fri, 2 May 2025 09:30:05 +0000 Subject: [PATCH 1/5] . --- src/btreeset.rs | 142 ++++++++++++++++++++++++++++-------------------- 1 file changed, 84 insertions(+), 58 deletions(-) diff --git a/src/btreeset.rs b/src/btreeset.rs index 69b32066..ed2f5055 100644 --- a/src/btreeset.rs +++ b/src/btreeset.rs @@ -65,9 +65,10 @@ where /// ## Basic Usage /// /// ```rust -/// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; +/// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// -/// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); +/// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); +/// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// /// set.insert(42); /// assert!(set.contains(&42)); @@ -78,9 +79,10 @@ where /// ## Range Queries /// /// ```rust -/// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; +/// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// -/// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); +/// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); +/// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(1); /// set.insert(2); /// set.insert(3); @@ -94,7 +96,7 @@ where /// You can store custom types in a `BTreeSet` by implementing the `Storable` trait: /// /// ```rust -/// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl, Storable}; +/// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId, Storable}; /// use std::borrow::Cow; /// /// #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone)] @@ -119,7 +121,8 @@ where /// }; /// } /// -/// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); +/// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); +/// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(CustomType { id: 42 }); /// assert!(set.contains(&CustomType { id: 42 })); /// ``` @@ -171,9 +174,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let set: BTreeSet = BTreeSet::init(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let set: BTreeSet = BTreeSet::init(mem_mgr.get(MemoryId::new(0))); /// ``` pub fn init(memory: M) -> Self { BTreeSet { @@ -186,9 +190,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// ``` pub fn new(memory: M) -> Self { BTreeSet { @@ -201,9 +206,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(42); /// /// // Save the set to memory @@ -228,9 +234,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// assert!(set.insert(42)); /// assert!(!set.insert(42)); // Key already exists /// ``` @@ -246,9 +253,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(42); /// assert!(set.contains(&42)); /// assert!(!set.contains(&7)); @@ -265,9 +273,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// assert!(set.is_empty()); /// ``` pub fn is_empty(&self) -> bool { @@ -282,9 +291,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(42); /// set.insert(7); /// assert_eq!(set.len(), 2); @@ -298,9 +308,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// let memory = set.into_memory(); /// ``` pub fn into_memory(self) -> M { @@ -317,9 +328,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(42); /// set.clear(); /// assert!(set.is_empty()); @@ -337,9 +349,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(42); /// set.insert(7); /// assert_eq!(set.first(), Some(7)); @@ -357,9 +370,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(42); /// set.insert(7); /// assert_eq!(set.last(), Some(42)); @@ -376,9 +390,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(42); /// assert!(set.remove(&42)); /// assert!(!set.contains(&42)); @@ -395,9 +410,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(42); /// set.insert(7); /// assert_eq!(set.pop_last(), Some(42)); @@ -414,9 +430,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(42); /// set.insert(7); /// assert_eq!(set.pop_first(), Some(7)); @@ -433,9 +450,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(42); /// set.insert(7); /// for key in set.iter() { @@ -455,9 +473,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(1); /// set.insert(2); /// set.insert(3); @@ -477,9 +496,10 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); /// set.insert(1); /// set.insert(2); /// set.insert(3); @@ -503,10 +523,11 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set1: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); - /// let mut set2: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set1: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); + /// let mut set2: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(1))); /// /// set1.insert(1); /// set1.insert(2); @@ -572,10 +593,11 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set1: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); - /// let mut set2: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set1: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); + /// let mut set2: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(1))); /// /// set1.insert(1); /// set1.insert(2); @@ -630,10 +652,11 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set1: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); - /// let mut set2: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set1: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); + /// let mut set2: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(1))); /// /// set1.insert(1); /// set1.insert(2); @@ -673,10 +696,11 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set1: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); - /// let mut set2: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set1: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); + /// let mut set2: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(1))); /// /// set1.insert(1); /// set1.insert(2); @@ -736,10 +760,11 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set1: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); - /// let mut set2: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set1: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); + /// let mut set2: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(1))); /// /// set1.insert(1); /// set1.insert(2); @@ -767,10 +792,11 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; /// - /// let mut set1: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); - /// let mut set2: BTreeSet = BTreeSet::new(DefaultMemoryImpl::default()); + /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); + /// let mut set1: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); + /// let mut set2: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(1))); /// /// set1.insert(1); /// set1.insert(2); From 0efd64f8d55ff57ead7ed24ed7b538e38101fdb7 Mon Sep 17 00:00:00 2001 From: Dragoljub Duric Date: Fri, 2 May 2025 09:42:42 +0000 Subject: [PATCH 2/5] . --- src/btreeset.rs | 78 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 52 insertions(+), 26 deletions(-) diff --git a/src/btreeset.rs b/src/btreeset.rs index ed2f5055..ebce52a3 100644 --- a/src/btreeset.rs +++ b/src/btreeset.rs @@ -65,7 +65,8 @@ where /// ## Basic Usage /// /// ```rust -/// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; +/// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; +/// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -79,7 +80,8 @@ where /// ## Range Queries /// /// ```rust -/// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; +/// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; +/// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -96,7 +98,8 @@ where /// You can store custom types in a `BTreeSet` by implementing the `Storable` trait: /// /// ```rust -/// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId, Storable}; +/// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl, Storable}; +/// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// use std::borrow::Cow; /// /// #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone)] @@ -174,7 +177,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let set: BTreeSet = BTreeSet::init(mem_mgr.get(MemoryId::new(0))); @@ -190,7 +194,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -206,7 +211,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -234,7 +240,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -253,7 +260,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -273,7 +281,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -291,7 +300,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -308,7 +318,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -328,7 +339,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -349,7 +361,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -370,7 +383,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -390,7 +404,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -410,7 +425,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -430,7 +446,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -450,7 +467,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -473,7 +491,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -496,7 +515,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -523,7 +543,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set1: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -593,7 +614,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set1: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -652,7 +674,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set1: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -696,7 +719,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set1: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -760,7 +784,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set1: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); @@ -792,7 +817,8 @@ where /// # Example /// /// ```rust - /// use ic_stable_structures::{BTreeSet, MemoryManager, MemoryId}; + /// use ic_stable_structures::{BTreeSet, DefaultMemoryImpl}; + /// use ic_stable_structures::memory_manager::{MemoryId, MemoryManager}; /// /// let mem_mgr = MemoryManager::init(DefaultMemoryImpl::default()); /// let mut set1: BTreeSet = BTreeSet::new(mem_mgr.get(MemoryId::new(0))); From 2b9b08b9dca53f22faf227ac92f605382e1eabef Mon Sep 17 00:00:00 2001 From: Dragoljub Duric Date: Tue, 10 Jun 2025 14:05:04 +0000 Subject: [PATCH 3/5] Add CI job for BTreeSet. --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 37eb2ff4..a5c342fc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -92,6 +92,8 @@ jobs: include: - name: btreemap project_dir: ./benchmarks/btreemap + - name: btreeset + project_dir: ./benchmarks/btreeset - name: memory-manager project_dir: ./benchmarks/memory_manager - name: vec From f9b657bad67ff441c7d486b52f5faf3d2b208bea Mon Sep 17 00:00:00 2001 From: Dragoljub Duric Date: Tue, 10 Jun 2025 14:31:55 +0000 Subject: [PATCH 4/5] add btreeset to matrix --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a5c342fc..5bb95386 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -86,6 +86,7 @@ jobs: matrix: name: - btreemap + - btreeset - memory-manager - vec - compare From 9e9e61518a5aacab051e7e1417a5349d4f8aa73a Mon Sep 17 00:00:00 2001 From: Dragoljub Duric Date: Tue, 10 Jun 2025 15:21:55 +0000 Subject: [PATCH 5/5] Upgrade canbench to fix tests. --- benchmarks/btreeset/canbench_results.yml | 402 +++++++++++++++++------ 1 file changed, 301 insertions(+), 101 deletions(-) diff --git a/benchmarks/btreeset/canbench_results.yml b/benchmarks/btreeset/canbench_results.yml index 74202325..357099a0 100644 --- a/benchmarks/btreeset/canbench_results.yml +++ b/benchmarks/btreeset/canbench_results.yml @@ -1,602 +1,802 @@ benches: btreeset_insert_blob_1024: total: - instructions: 7284353843 + start_instructions: 116153 + calls: 1 + instructions: 7286179001 heap_increase: 1 stable_memory_increase: 256 scopes: {} btreeset_insert_blob_128: total: - instructions: 1654118408 + start_instructions: 116153 + calls: 1 + instructions: 1655004303 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_16: total: - instructions: 739699471 + start_instructions: 116153 + calls: 1 + instructions: 742489211 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_256: total: - instructions: 2458952491 + start_instructions: 116153 + calls: 1 + instructions: 2466538172 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_32: total: - instructions: 836100902 + start_instructions: 116153 + calls: 1 + instructions: 838226080 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_512: total: - instructions: 4066217394 + start_instructions: 116153 + calls: 1 + instructions: 4070669127 heap_increase: 0 stable_memory_increase: 128 scopes: {} btreeset_insert_blob_64: total: - instructions: 998807162 + start_instructions: 116153 + calls: 1 + instructions: 999868182 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_8: total: - instructions: 717903557 + start_instructions: 116153 + calls: 1 + instructions: 720687800 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u32: total: - instructions: 571689723 + start_instructions: 116153 + calls: 1 + instructions: 575071145 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u64: total: - instructions: 592253100 + start_instructions: 116153 + calls: 1 + instructions: 594277486 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_1024: total: - instructions: 108717363 + start_instructions: 849892194 + calls: 1 + instructions: 108717444 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_128: total: - instructions: 18182210 + start_instructions: 195426611 + calls: 1 + instructions: 18182291 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_16: total: - instructions: 3647358 + start_instructions: 86909524 + calls: 1 + instructions: 3647439 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_256: total: - instructions: 31425737 + start_instructions: 289960822 + calls: 1 + instructions: 31425818 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_32: total: - instructions: 4922122 + start_instructions: 100144814 + calls: 1 + instructions: 4922203 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_512: total: - instructions: 57189120 + start_instructions: 476566443 + calls: 1 + instructions: 57189201 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_64: total: - instructions: 10297925 + start_instructions: 119870343 + calls: 1 + instructions: 10298006 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_8: total: - instructions: 3391277 + start_instructions: 84064155 + calls: 1 + instructions: 3391543 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u32: total: - instructions: 2493559 + start_instructions: 68825081 + calls: 1 + instructions: 2493469 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u64: total: - instructions: 2511642 + start_instructions: 71261789 + calls: 1 + instructions: 2511552 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_1024: total: - instructions: 52538596 + start_instructions: 849894313 + calls: 1 + instructions: 52538676 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_128: total: - instructions: 9488848 + start_instructions: 195428730 + calls: 1 + instructions: 9488928 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_16: total: - instructions: 2342810 + start_instructions: 86911643 + calls: 1 + instructions: 2342890 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_256: total: - instructions: 15786553 + start_instructions: 289962941 + calls: 1 + instructions: 15786633 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_32: total: - instructions: 3009950 + start_instructions: 100146933 + calls: 1 + instructions: 3010030 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_512: total: - instructions: 28037526 + start_instructions: 476568562 + calls: 1 + instructions: 28037606 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_64: total: - instructions: 5459284 + start_instructions: 119872462 + calls: 1 + instructions: 5459364 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_8: total: - instructions: 2251299 + start_instructions: 84066274 + calls: 1 + instructions: 2251564 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u32: total: - instructions: 1692076 + start_instructions: 68826082 + calls: 1 + instructions: 1692156 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u64: total: - instructions: 1705528 + start_instructions: 71262790 + calls: 1 + instructions: 1705608 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_1024: total: - instructions: 384259 + start_instructions: 849892195 + calls: 1 + instructions: 384339 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_128: total: - instructions: 89398 + start_instructions: 195426612 + calls: 1 + instructions: 89478 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_16: total: - instructions: 54885 + start_instructions: 86909525 + calls: 1 + instructions: 54965 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_256: total: - instructions: 131654 + start_instructions: 289960823 + calls: 1 + instructions: 131734 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_32: total: - instructions: 46702 + start_instructions: 100144815 + calls: 1 + instructions: 46782 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_512: total: - instructions: 215811 + start_instructions: 476566444 + calls: 1 + instructions: 215891 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_64: total: - instructions: 57922 + start_instructions: 119870344 + calls: 1 + instructions: 58002 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_8: total: - instructions: 53252 + start_instructions: 84064156 + calls: 1 + instructions: 53517 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u32: total: - instructions: 44014 + start_instructions: 68825082 + calls: 1 + instructions: 44094 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u64: total: - instructions: 44663 + start_instructions: 71261790 + calls: 1 + instructions: 44743 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_1024: total: - instructions: 91980309 + start_instructions: 849892195 + calls: 1 + instructions: 91980389 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_128: total: - instructions: 15754329 + start_instructions: 195426612 + calls: 1 + instructions: 15754409 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_16: total: - instructions: 3566982 + start_instructions: 86909525 + calls: 1 + instructions: 3567062 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_256: total: - instructions: 26966809 + start_instructions: 289960823 + calls: 1 + instructions: 26966889 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_32: total: - instructions: 4791767 + start_instructions: 100144815 + calls: 1 + instructions: 4791847 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_512: total: - instructions: 48630619 + start_instructions: 476566444 + calls: 1 + instructions: 48630699 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_64: total: - instructions: 8894928 + start_instructions: 119870344 + calls: 1 + instructions: 8895008 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_8: total: - instructions: 3336365 + start_instructions: 84064156 + calls: 1 + instructions: 3336630 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u32: total: - instructions: 2492101 + start_instructions: 68825082 + calls: 1 + instructions: 2492181 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u64: total: - instructions: 2510547 + start_instructions: 71261790 + calls: 1 + instructions: 2510627 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_1024: total: - instructions: 434481189 + start_instructions: 7120818487 + calls: 1 + instructions: 435124560 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_128: total: - instructions: 77325848 + start_instructions: 1489785493 + calls: 1 + instructions: 77509276 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_16: total: - instructions: 17483295 + start_instructions: 558287980 + calls: 1 + instructions: 17503863 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_256: total: - instructions: 129194395 + start_instructions: 2302867557 + calls: 1 + instructions: 129682713 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_32: total: - instructions: 23951961 + start_instructions: 667628370 + calls: 1 + instructions: 23960285 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_512: total: - instructions: 230961189 + start_instructions: 3907172028 + calls: 1 + instructions: 231602187 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_64: total: - instructions: 42333988 + start_instructions: 831870160 + calls: 1 + instructions: 42403253 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_8: total: - instructions: 16825152 + start_instructions: 536916647 + calls: 1 + instructions: 16845509 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u32: total: - instructions: 13506582 + start_instructions: 430596431 + calls: 1 + instructions: 13548162 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u64: total: - instructions: 13590626 + start_instructions: 451645160 + calls: 1 + instructions: 13630146 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_1024: total: - instructions: 261524517 + start_instructions: 7120861853 + calls: 1 + instructions: 263014479 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_128: total: - instructions: 47161109 + start_instructions: 1489809582 + calls: 1 + instructions: 47360433 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_16: total: - instructions: 11192850 + start_instructions: 558289292 + calls: 1 + instructions: 11547598 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_256: total: - instructions: 77956795 + start_instructions: 2302894979 + calls: 1 + instructions: 80329127 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_32: total: - instructions: 15048515 + start_instructions: 667649958 + calls: 1 + instructions: 15397635 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_512: total: - instructions: 139243173 + start_instructions: 3907204386 + calls: 1 + instructions: 140683373 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_64: total: - instructions: 26092306 + start_instructions: 831892786 + calls: 1 + instructions: 26557446 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_8: total: - instructions: 10796216 + start_instructions: 536917886 + calls: 1 + instructions: 11163969 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u32: total: - instructions: 8168558 + start_instructions: 430596528 + calls: 1 + instructions: 8527565 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u64: total: - instructions: 8209398 + start_instructions: 451646229 + calls: 1 + instructions: 8578353 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_1024: total: - instructions: 7738925933 + start_instructions: 7286314851 + calls: 1 + instructions: 7742324321 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_128: total: - instructions: 1684959346 + start_instructions: 1655140153 + calls: 1 + instructions: 1686815318 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_16: total: - instructions: 731714614 + start_instructions: 742665061 + calls: 1 + instructions: 734847606 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_256: total: - instructions: 2548191494 + start_instructions: 2466674022 + calls: 1 + instructions: 2554095647 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_32: total: - instructions: 825477060 + start_instructions: 838361930 + calls: 1 + instructions: 828046993 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_512: total: - instructions: 4277639888 + start_instructions: 4070804977 + calls: 1 + instructions: 4281038281 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_64: total: - instructions: 1007012623 + start_instructions: 1000004032 + calls: 1 + instructions: 1008859631 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_8: total: - instructions: 710369771 + start_instructions: 720863650 + calls: 1 + instructions: 713093335 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u32: total: - instructions: 562044903 + start_instructions: 575206995 + calls: 1 + instructions: 565270490 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u64: total: - instructions: 586317027 + start_instructions: 594413336 + calls: 1 + instructions: 588839171 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_1024: total: - instructions: 108731489 + start_instructions: 849892194 + calls: 1 + instructions: 108731570 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_128: total: - instructions: 18185584 + start_instructions: 195426611 + calls: 1 + instructions: 18185665 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_16: total: - instructions: 3648982 + start_instructions: 86909524 + calls: 1 + instructions: 3649063 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_256: total: - instructions: 31430647 + start_instructions: 289960822 + calls: 1 + instructions: 31430728 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_32: total: - instructions: 4923790 + start_instructions: 100144814 + calls: 1 + instructions: 4923871 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_512: total: - instructions: 57197102 + start_instructions: 476566443 + calls: 1 + instructions: 57197183 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_64: total: - instructions: 10300531 + start_instructions: 119870343 + calls: 1 + instructions: 10300612 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_8: total: - instructions: 3392880 + start_instructions: 84064155 + calls: 1 + instructions: 3393146 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u32: total: - instructions: 2509667 + start_instructions: 68825081 + calls: 1 + instructions: 2509577 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u64: total: - instructions: 2517727 + start_instructions: 71261789 + calls: 1 + instructions: 2517637 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_1024: total: - instructions: 108731997 + start_instructions: 849892194 + calls: 1 + instructions: 108732078 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_128: total: - instructions: 18186092 + start_instructions: 195426611 + calls: 1 + instructions: 18186173 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_16: total: - instructions: 3649490 + start_instructions: 86909524 + calls: 1 + instructions: 3649571 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_256: total: - instructions: 31431155 + start_instructions: 289960822 + calls: 1 + instructions: 31431236 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_32: total: - instructions: 4924298 + start_instructions: 100144814 + calls: 1 + instructions: 4924379 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_512: total: - instructions: 57197610 + start_instructions: 476566443 + calls: 1 + instructions: 57197691 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_64: total: - instructions: 10301039 + start_instructions: 119870343 + calls: 1 + instructions: 10301120 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_8: total: - instructions: 3393388 + start_instructions: 84064155 + calls: 1 + instructions: 3393654 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u32: total: - instructions: 2507174 + start_instructions: 68825081 + calls: 1 + instructions: 2507084 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u64: total: - instructions: 2513237 + start_instructions: 71261789 + calls: 1 + instructions: 2513147 heap_increase: 0 stable_memory_increase: 0 scopes: {} -version: 0.1.11 +version: 0.1.16