Оцінка продуктивності системи HVM повинна проводитися з трьох ключових аспектів: отримання та перевірка подій, закріплення та відновлення стану, а також вплив виконавчого рівня на споживання Gas та пропускну здатність.
На етапі отримання подій основні виклики походять від усунення дублікатів, сумісного переформування та підтримання послідовності порядку. Будь-який механізм перевірки, введений для зменшення ризику повторного відтворення, збільшить навантаження на процесор та I/O. А на етапі фіксації стану знімки та ідентність стали основними елементами, які забезпечують точне відновлення стану системи в умовах переформування блоків та затримок, запобігаючи виникненню так званого "привидового запису".
На рівні виконання, якщо інтерфейс для читання фактів BTC зі смарт-контракту буде спроектовано в режимі "пакетної обробки з пагінацією", це може значно знизити фіксовані витрати на газ для одноразових викликів, водночас більше покладаючи максимальну пропускну здатність на ефективність агрегації з боку подій. Основна ідея такого дизайну полягає не лише у зниженні витрат на кожну операцію, а й у забезпеченні більшої передбачуваності загальної кривої продуктивності, що створює стабільну основу для розробки стратегій верхніх протоколів.
У оптимізації стратегії першочергово слід враховувати стратегію кешування та шарування холодних і гарячих даних. Для полів подій, які часто відвідують, слід використовувати кешування на рівні пам’яті та надавати дві моделі читання для контрактної сторони: "майже в реальному часі" та "остаточне підтвердження", щоб верхній протокол міг вибрати найбільш підходящу криву витрат-затримок відповідно до стадії бізнесу. По-друге, слід мінімізувати зміни стану в контракті: залишити обчислювальний процес на стороні читання, записуючи лише висновок у стан, що не тільки зменшує витрати на операції SSTORE, але й зменшує навантаження компенсації під час відкату.
Крім того, масові асерти та векторизована верифікація також є важливими методами оптимізації, які дозволяють об'єднати перевірку законності кількох подій в одну операцію, ефективно зменшуючи повторювані шляхи. Через єдиний вхід ці стратегії оптимізації можуть бути упаковані як поведінка за замовчуванням SDK, уникаючи проблеми фрагментації продуктивності, що виникають через різні реалізації.
В цілому, оптимізація продуктивності HVM є багатогранним системним інженерним завданням, яке вимагає знаходження оптимального балансу між обробкою подій, управлінням станом та ефективністю виконання для досягнення ефективної, надійної та передбачуваної продуктивності системи.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
13 лайків
Нагородити
13
4
Репост
Поділіться
Прокоментувати
0/400
ShibaMillionairen't
· 12год тому
ефективність газу досить низька
Переглянути оригіналвідповісти на0
degenonymous
· 10-19 03:43
Хлопе, йди на викладача, ти все так ясно пояснюєш.
Оцінка продуктивності системи HVM повинна проводитися з трьох ключових аспектів: отримання та перевірка подій, закріплення та відновлення стану, а також вплив виконавчого рівня на споживання Gas та пропускну здатність.
На етапі отримання подій основні виклики походять від усунення дублікатів, сумісного переформування та підтримання послідовності порядку. Будь-який механізм перевірки, введений для зменшення ризику повторного відтворення, збільшить навантаження на процесор та I/O. А на етапі фіксації стану знімки та ідентність стали основними елементами, які забезпечують точне відновлення стану системи в умовах переформування блоків та затримок, запобігаючи виникненню так званого "привидового запису".
На рівні виконання, якщо інтерфейс для читання фактів BTC зі смарт-контракту буде спроектовано в режимі "пакетної обробки з пагінацією", це може значно знизити фіксовані витрати на газ для одноразових викликів, водночас більше покладаючи максимальну пропускну здатність на ефективність агрегації з боку подій. Основна ідея такого дизайну полягає не лише у зниженні витрат на кожну операцію, а й у забезпеченні більшої передбачуваності загальної кривої продуктивності, що створює стабільну основу для розробки стратегій верхніх протоколів.
У оптимізації стратегії першочергово слід враховувати стратегію кешування та шарування холодних і гарячих даних. Для полів подій, які часто відвідують, слід використовувати кешування на рівні пам’яті та надавати дві моделі читання для контрактної сторони: "майже в реальному часі" та "остаточне підтвердження", щоб верхній протокол міг вибрати найбільш підходящу криву витрат-затримок відповідно до стадії бізнесу. По-друге, слід мінімізувати зміни стану в контракті: залишити обчислювальний процес на стороні читання, записуючи лише висновок у стан, що не тільки зменшує витрати на операції SSTORE, але й зменшує навантаження компенсації під час відкату.
Крім того, масові асерти та векторизована верифікація також є важливими методами оптимізації, які дозволяють об'єднати перевірку законності кількох подій в одну операцію, ефективно зменшуючи повторювані шляхи. Через єдиний вхід ці стратегії оптимізації можуть бути упаковані як поведінка за замовчуванням SDK, уникаючи проблеми фрагментації продуктивності, що виникають через різні реалізації.
В цілому, оптимізація продуктивності HVM є багатогранним системним інженерним завданням, яке вимагає знаходження оптимального балансу між обробкою подій, управлінням станом та ефективністю виконання для досягнення ефективної, надійної та передбачуваної продуктивності системи.