Move.

Допис

Діліться своїми знаннями.

Mister_CocaCola.
Mar 28, 2025
Обговорення

Різниця продуктивності між твердженнями модуло та порівняння?

Мені цікаво, чи використання assert!(arg3 % arg0 == 0, 6);є більш газовим ефективним, ніжassert!(arg3 < arg0, 6);? Я натрапив на це в глибокій книзі і цікавився вибором. Чи існує суттєва різниця в продуктивності між використанням модуля та твердженнями порівняння з точки зору споживання газу?

  • Move CLI
  • Move
1
1
Поділитися
Коментарі
.

Відповіді

1
dudley_smith.
Mar 28 2025, 20:11

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

1
Найкраща відповідь
Коментарі
.

Ви знаєте відповідь?

Будь ласка, увійдіть та поділіться нею.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

148Пости231Відповіді
Sui.X.Peera.

Зароби свою частку з 1000 Sui

Заробляй бали репутації та отримуй винагороди за допомогу в розвитку спільноти Sui.

Ми використовуємо файли cookie, щоб гарантувати вам найкращий досвід на нашому сайті.
Детальніше