Publication
Partagez vos connaissances.
Différence de performance entre les assertions modulo et les assertions de comparaison ?
Je suis curieux de savoir si l'utilisation assert!(arg3 % arg0 == 0, 6);
est plus économe en gaz que assert!(arg3 < arg0, 6);
? Je suis tombé sur ça dans Deepbook et je m'interrogeais sur le choix. Existe-t-il une différence de performance significative entre l'utilisation de modulo et les assertions de comparaison en termes de consommation de gaz ?
- Move CLI
- Move
Réponses
1Cette dernière (assert!(arg3 < arg0, 6);
) sera légèrement moins chère en termes de gaz car il s'agit d'une seule instruction (Cmp) au lieu de trois (Mod, LDConst<0>, Eq). Cependant, il n'y a généralement pas lieu de s'inquiéter en raison de la présence de godets d'essence. Les instructions arithmétiques ont tendance à être beaucoup moins chères que les autres instructions. De plus, le modèle de gaz Sui facture différemment uniquement pour les programmes dont les temps d'exécution des horloges murales sont constamment différents, et les délais d'exécution arithmétiques peuvent naturellement varier considérablement. Vous trouverez plus de détails dans la documentation de Sui tokenomics : https://docs.sui.io/concepts/tokenomics/gas-in-sui#computation.
Connaissez-vous la réponse ?
Veuillez vous connecter et la partager.