Допис
Діліться своїми знаннями.
Різниця продуктивності між твердженнями модуло та порівняння?
Мені цікаво, чи використання assert!(arg3 % arg0 == 0, 6);
є більш газовим ефективним, ніжassert!(arg3 < arg0, 6);
? Я натрапив на це в глибокій книзі і цікавився вибором. Чи існує суттєва різниця в продуктивності між використанням модуля та твердженнями порівняння з точки зору споживання газу?
- Move CLI
- Move
Відповіді
1Останній (assert!(arg3 < arg0, 6);
) буде трохи дешевшим з точки зору газу, оскільки це одна інструкція (Cmp), а не три (Mod, LDConst<0>, Eq). Однак, як правило, це не про що турбуватися через газове відро. Арифметичні інструкції, як правило, набагато дешевші в порівнянні з іншими інструкціями. Крім того, газова модель Sui заряджається по-різному лише для програм із послідовно різним часом виконання настінних годинників, а арифметичні терміни виконання можуть, природно, досить сильно відрізнятися. Більш детальну інформацію можна знайти в документації Sui tokenomics: https://docs.sui.io/concepts/tokenomics/gas-in-sui#computation.
Ви знаєте відповідь?
Будь ласка, увійдіть та поділіться нею.