// todo a short general introduce in one line and warn that this project has not finished yet.
// todo general introduce of OlaVM, may link to some articles of OlaVM learning resources.
// high light features, including implemented and to be implemented.
// project status and our plan.
This project consists of several crates:
Crate | Description |
---|---|
core | todo |
circuits | todo |
executor | todo |
client | todo |
plonky2 | todo |
infrastructure | todo |
Many optimizations have not been applied yet, and we expect that there will be some speedup once we dedicate some time to performance optimizations. The benchmarks below should be viewed only as a rough guide for expected future performance.
Overall, we don't expect the benchmarks to change significantly, but there will definitely be some deviation from the below numbers in the future.
A few general notes on performance:
- replace poseidon hash function to blake3 hash function(!fix me)
- replace concurrent fft(!fix me)
In the benchmarks below, the VM executes the same Fibonacci calculator program for 2^20 cycles at 100-bit target security level on a high-end 64-core CPU:
VM cycles | Execution time | Proving time | RAM consumed | Proof size |
---|---|---|---|---|
2^18 | 81.115 ms | 6.791 s | 5.6 GB | 478 KB |
2^19 | 159.80 ms | 14.688 s | 11.1 GB | 496 KB |
2^20 | 318.08 ms | 29.766 s | 23.2 GB | 515 KB |
2^21 | 627.38 ms | 65.057 s | 45.3 GB | 533 KB |
2^22 | 1240.4 ms | 133.08 s | 86.6 GB | 576 KB |
2^23 | 2453.8 ms | 271.04 s | 176 GB | 597 KB |
// todo learning resources of math, zkp; some other projects.
This project is under MIT licensed.