You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently KAVM goes through a program loading step every time an application call transaction is executed before executing the program. The program is stored in the application cell as a TealInputProgram and loaded into its executable form which consists of a Map of program counter -> operation and another map of label -> PC by reading the program one operation/label at a time and populating these maps. This typically makes up a substantial chunk of the rewrite steps in a program execution. These maps should be the same for all executions of that program unless the program is updated, so we should move this process to happen during app creation and update (store the two maps in the application cell instead of a TealInputProgram). This way instead of regenerating these maps they can be copied to the execution workspace in one rewrite step. This will be especially useful for running proofs over application calls to contracts which are already created.
The text was updated successfully, but these errors were encountered:
Currently KAVM goes through a program loading step every time an application call transaction is executed before executing the program. The program is stored in the application cell as a
TealInputProgram
and loaded into its executable form which consists of aMap
ofprogram counter -> operation
and another map oflabel -> PC
by reading the program one operation/label at a time and populating these maps. This typically makes up a substantial chunk of the rewrite steps in a program execution. These maps should be the same for all executions of that program unless the program is updated, so we should move this process to happen during app creation and update (store the two maps in the application cell instead of a TealInputProgram). This way instead of regenerating these maps they can be copied to the execution workspace in one rewrite step. This will be especially useful for running proofs over application calls to contracts which are already created.The text was updated successfully, but these errors were encountered: