-
Notifications
You must be signed in to change notification settings - Fork 9
Added flushing of reserved modifications, set_value used for initiali… #226
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
base: master
Are you sure you want to change the base?
Conversation
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 performance drop is significant: from 264k to 132k on a single-threaded put. Simple test without drain gives 171k.
lib/pmem/ARTree.cpp
Outdated
| // Temporarily disable the node | ||
| nodeLeafCompressed_new->key = -1; | ||
| pmemobj_flush(_pm_pool.get_handle(), | ||
| &nodeLeafCompressed_new->depth, 2 * sizeof(int)); |
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.
why 2*sizeof(int)?
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.
To flush depth and type. Now I changed to separate "flushes".
lib/pmem/ARTree.h
Outdated
| const int PREALLOC_LEVELS = 1; | ||
| // size of table for actions for each Node | ||
| #define ACTION_NUMBER_NODE256 (1 + 256) | ||
| #define ACTION_NUMBER_NODE256 (1 + 256 + 2 * 256) |
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.
Can we add defines for the magic numbers? It's getting harder to understand which one is used for what.
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.
Done
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.
We have further drop in performance to 120K.
…zation of Node child