Profiling shows that in bulk insert workloads significant time, up to 40% of the time per insert, is spent constructing the config string "commit_timestamp=..." in WiredTigerRecoveryUnit::setTimestamp, and then parsing it in WT_SESSION::timestamp_transaction. As suggested in WT-4451 can we add an API specifically to set the transaction commit timestamp passed as a number, without having to parse a config string?
I think this should be a simple change, at least at a POC level, which the performance team could then validate against our performance tests that show this issue.
(Note that the POC done in WT-4451 does not seem like it fully tested this concept, because it still passed a config string to indicate which timestamp to set, so we still had the expense of parsing a config string).
- depends on
-
SERVER-62791 Improve performance of WiredTigerRecoveryUnit::setTimestamp
- Closed
-
WT-8365 Improve performance for timestamp_transaction
- Closed
- is depended on by
-
SERVER-64797 Use WT's new numerical timestamp API
- Closed
-
SERVER-65262 Expand usage of WT numerical timestamp API
- Closed
- is related to
-
WT-8365 Improve performance for timestamp_transaction
- Closed
-
WT-4451 Add a new WiredTiger timestamp APIs to use integral values instead of hexadecimal strings
- Closed