git.delta.rocks / unique-network / refs/commits / 9c8e0787fab1

difftreelog

feat add reset_token_properties benchmark

Daniel Shiposha2023-09-25parent: #e3c9079.patch.diff
in: master

4 files changed

modifiedpallets/nonfungible/src/benchmarking.rsdiffbeforeafterboth
200 let item = create_max_item(&collection, &owner, owner.clone())?;200 let item = create_max_item(&collection, &owner, owner.clone())?;
201 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?}201 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?}
202
203 reset_token_properties {
204 let b in 0..MAX_PROPERTIES_PER_ITEM;
205 bench_init!{
206 owner: sub; collection: collection(owner);
207 owner: cross_from_sub;
208 };
209 let perms = (0..b).map(|k| PropertyKeyPermission {
210 key: property_key(k as usize),
211 permission: PropertyPermission {
212 mutable: false,
213 collection_admin: true,
214 token_owner: true,
215 },
216 }).collect::<Vec<_>>();
217 <Pallet<T>>::set_token_property_permissions(&collection, &owner, perms)?;
218 let props = (0..b).map(|k| Property {
219 key: property_key(k as usize),
220 value: property_value(),
221 }).collect::<Vec<_>>();
222 let item = create_max_item(&collection, &owner, owner.clone())?;
223 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::NewToken { mint_target_is_sender: true }, &Unlimited)?}
202224
203 delete_token_properties {225 delete_token_properties {
204 let b in 0..MAX_PROPERTIES_PER_ITEM;226 let b in 0..MAX_PROPERTIES_PER_ITEM;
modifiedpallets/nonfungible/src/common.rsdiffbeforeafterboth
42 + t.iter()42 + t.iter()
43 .filter_map(|t| {43 .filter_map(|t| {
44 if t.properties.len() > 0 {44 if t.properties.len() > 0 {
45 Some(Self::set_token_properties(t.properties.len() as u32))45 Some(<SelfWeightOf<T>>::reset_token_properties(
46 t.properties.len() as u32,
47 ))
46 } else {48 } else {
58 + data60 + data
59 .iter()61 .iter()
60 .filter_map(|t| match t {62 .filter_map(|t| match t {
61 up_data_structs::CreateItemData::NFT(n) if n.properties.len() > 0 => {63 up_data_structs::CreateItemData::NFT(n) if n.properties.len() > 0 => Some(
62 Some(Self::set_token_properties(n.properties.len() as u32))64 <SelfWeightOf<T>>::reset_token_properties(n.properties.len() as u32),
63 }65 ),
64 _ => None,66 _ => None,
65 })67 })
66 .fold(Weight::zero(), |a, b| a.saturating_add(b))68 .fold(Weight::zero(), |a, b| a.saturating_add(b))
modifiedpallets/refungible/src/benchmarking.rsdiffbeforeafterboth
257 let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?;257 let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?;
258 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?}258 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::ExistingToken, &Unlimited)?}
259
260 reset_token_properties {
261 let b in 0..MAX_PROPERTIES_PER_ITEM;
262 bench_init!{
263 owner: sub; collection: collection(owner);
264 owner: cross_from_sub;
265 };
266 let perms = (0..b).map(|k| PropertyKeyPermission {
267 key: property_key(k as usize),
268 permission: PropertyPermission {
269 mutable: false,
270 collection_admin: true,
271 token_owner: true,
272 },
273 }).collect::<Vec<_>>();
274 <Pallet<T>>::set_token_property_permissions(&collection, &owner, perms)?;
275 let props = (0..b).map(|k| Property {
276 key: property_key(k as usize),
277 value: property_value(),
278 }).collect::<Vec<_>>();
279 let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?;
280 }: {<Pallet<T>>::set_token_properties(&collection, &owner, item, props.into_iter(), SetPropertyMode::NewToken { mint_target_is_sender: true }, &Unlimited)?}
259281
260 delete_token_properties {282 delete_token_properties {
261 let b in 0..MAX_PROPERTIES_PER_ITEM;283 let b in 0..MAX_PROPERTIES_PER_ITEM;
modifiedpallets/refungible/src/common.rsdiffbeforeafterboth
4747
48fn properties_weight<T: Config>(properties: &CollectionPropertiesVec) -> Weight {48fn properties_weight<T: Config>(properties: &CollectionPropertiesVec) -> Weight {
49 if properties.len() > 0 {49 if properties.len() > 0 {
50 <CommonWeights<T>>::set_token_properties(properties.len() as u32)50 <SelfWeightOf<T>>::reset_token_properties(properties.len() as u32)
51 } else {51 } else {
52 Weight::zero()52 Weight::zero()
53 }53 }