Skip to content

[Snapshot Performance] account_meta should be part of funk_rec #4828

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
ripatel-fd opened this issue Apr 21, 2025 · 0 comments
Open

[Snapshot Performance] account_meta should be part of funk_rec #4828

ripatel-fd opened this issue Apr 21, 2025 · 0 comments

Comments

@ripatel-fd
Copy link
Contributor

ripatel-fd commented Apr 21, 2025

Storing account metadata on the heap instead of the record table incurs significant overhead.
All Solana accounts (>99% of funk records) have account metadata.
But a significant amount of Solana accounts only has metadata but no data (system accounts).

Therefore moving account_meta into funk_rec

  • Improves cache locality (saves the need for DRAM fetches of account data, likely already hot due to cache line readahead on funk_rec).
  • Reduces the amount of heap allocations done for mainnet snapshots by hundreds of millions, for all those system accounts.

However, it makes funk index footprint worse due to 47 bytes of padding ... 🤔

@ripatel-fd ripatel-fd changed the title account_meta should be part of funk_rec [Snapshot Performance] account_meta should be part of funk_rec Apr 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant