-
Notifications
You must be signed in to change notification settings - Fork 210
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
feat: immutable data structure for memdb #4335
Conversation
@@ -52,6 +52,7 @@ secp256k1-zkp = { version = "0.7.0", features = [ "use-serde", "bitcoin_hashes", | |||
macro_rules_attribute = "0.1.3" | |||
bitvec = "1.0.1" | |||
parity-scale-codec = { version = "3.5.0", features = ["derive"] } | |||
imbl = "2.0.3" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔥
The merge-base changed after approval.
The merge-base changed after approval.
The merge-base changed after approval.
gives us O(1) clone
rebased |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there another flaky test? Hard for me to tell if its due to these changes or not
@maan2003 That assertion ... looks :sus: . Seems to me that you might have improved (along possibly with the executor improvements) common case so much, that is now much faster than a maximum one? Anyway, I'll leave it to you. :) |
this can't affect devimint latency tests, in devimint test we only test using rocksdb likely just due to executor improvments |
I don't know. Failed again in mq, while I don't see failures like that on other PRs. |
also failed for another PR |
Hmm. So what do we do? Change the factor? Seems like usual case got much faster, while max can sometimes take couple of seconds. |
currently memdb clones all the database items on each begin_transaction, this is really slow for even slightly large database.
this uses immutable data structures for memdb, so clone in begin_transaction is O(1)