anton-rs / cannon-rs

An alternative implementation of the OP Stack's Cannon, a MIPS emulator for the EVM.
MIT License
59 stars 6 forks source link

perf: `Page` bitmap #6

Closed clabby closed 1 year ago

clabby commented 1 year ago

Overview

At the moment, mipsevm's Page data structure uses a bitmap of 128 bits for the invalid address tracking. While this is efficient, it is somewhat restrictive because the page size can no longer be increased without breaking the datastructure. It would be nice to have an alternative solution that is quick to read/write to, does not require much memory, and supports adjustable page sizes.