Bài viết
Chia sẻ kiến thức của bạn.
Sự khác biệt về hiệu suất giữa xác nhận modulo và so sánh?
Tôi tò mò liệu sử dụng assert!(arg3 % arg0 == 0, 6);
có tiết kiệm khí hơn khôngassert!(arg3 < arg0, 6);
? Tôi bắt gặp điều này trong deepbook và đang băn khoăn về sự lựa chọn. Có sự khác biệt đáng kể về hiệu suất nào giữa việc sử dụng modulo so với các khẳng định so sánh về mức tiêu thụ khí không?
- Move CLI
- Move
Câu trả lời
1Cái sau (assert!(arg3 < arg0, 6);
) sẽ rẻ hơn một chút về gas vì nó là một lệnh duy nhất (Cmp) chứ không phải ba (Mod, LDconst<0>, Eq). Tuy nhiên, nhìn chung nó không phải là điều đáng lo ngại do xô xăng. Các hướng dẫn số học có xu hướng rẻ hơn nhiều so với các hướng dẫn khác. Ngoài ra, mô hình khí Sui tính phí khác nhau chỉ đối với các chương trình có thời gian thực thi đồng hồ treo tường khác nhau nhất quán và thời gian thực thi số học tự nhiên có thể thay đổi khá nhiều. Thông tin chi tiết có thể được tìm thấy trong tài liệu Sui tokenomics: https://docs.sui.io/concepts/tokenomics/gas-in-sui#computation.
Bạn có biết câu trả lời không?
Hãy đăng nhập và chia sẻ nó.