[WIP] flamenco, vm: add bpf loader serialization test fixtures
Adds a set of fixtures and a unit test fixture runner for vm input serialization, generated by running the input through the Agave vm input serializers. Compares the output buffer, the vm regions and the region metadata. Includes coverage of stricter_abi_and_runtime_constraints and account_data_direct_mapping.
Adjusted some of the serialization code to make it more amenable for unit testing, removing the dependency on fd_runtime_t.
This pr depends on, and adds tests for, https://github.com/firedancer-io/firedancer/pull/7389. Needs to be rebased when 7389 is merged.
Performance Measurements ⏳
| Suite | Baseline | New | Change |
|---|---|---|---|
backtest mainnet-368528500-perf per slot |
0.0733 s |
0.074339 s |
1.417% ✅ |
backtest mainnet-368528500-perf snapshot load |
3.796 s |
3.144 s |
-17.176% ✅ |
backtest mainnet-368528500-perf total elapsed |
73.300332 s |
74.339282 s |
1.417% ✅ |
firedancer mem usage with mainnet.toml |
1013.23 GiB |
1013.23 GiB |
0.000% ✅ |
Performance Measurements ⏳
| Suite | Baseline | New | Change |
|---|---|---|---|
backtest mainnet-368528500-perf per slot |
0.073295 s |
0.07316 s |
-0.184% ✅ |
backtest mainnet-368528500-perf snapshot load |
3.785 s |
3.208 s |
-15.244% ✅ |
backtest mainnet-368528500-perf total elapsed |
73.294634 s |
73.159935 s |
-0.184% ✅ |
firedancer mem usage with mainnet.toml |
1013.23 GiB |
1013.23 GiB |
0.000% ✅ |
Performance Measurements ⏳
| Suite | Baseline | New | Change |
|---|---|---|---|
backtest mainnet-368528500-perf per slot |
0.076924 s |
0.076404 s |
-0.676% ✅ |
backtest mainnet-368528500-perf snapshot load |
4.846 s |
3.059 s |
-36.876% ✅ |
backtest mainnet-368528500-perf total elapsed |
76.924404 s |
76.404374 s |
-0.676% ✅ |
firedancer mem usage with mainnet.toml |
1013.23 GiB |
1013.23 GiB |
0.000% ✅ |