cleanup(acounts_db): delete swissmap, disable fastloading #952
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Our swissmap implementation is just not faster than the Zig stdlib. It could make sense to have it if it did proper SIMD linear search for things like Pubkey keys, but it doesn't, which makes it consistently 40% slower. We rely on the SwissMap for its consistent layout, although the
@Vector
usage is currently plain illegal, so it doesn't make much sense to keep that either. On top of all of that, fastloading is broken anyways, loading real-world snapshots seems to fail bank field validation afterwards and it has some corrupt memory management leading to random segfaults.All in all, deleting the swissmap and disabling fastloading (until we rewrite accountsdb to take a different approach, one that could be much easier/faster to fastload), seems like the easiest step forwards in terms of cleanup.
For now I've commented out the fastloading related code, perhaps it'll yield useful later.