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.
Adds a
Reserve()
method toAutoProbing
that is necessary to get Bitextor's document aligner to work with this type of table.I tried multiple setups where I just initialised the main table with a different size, but making sure the destination table is large enough with a
Reserve
call seems to be the only way to have any predictably good performance.I also added a move-assignment operator to
scoped_memory
, the lack thereof prevented me to dodf = std::move(local_df)
.Things that can be improved:
AutoProbing
's auto-generated move assignment operator is up to the job, but the output seems to be as expected. TheAutoProbing
table that was moved out from might be in a funny state though, with its counters not reset and no backing memory left.Reserve()
is just a while-loop aroundDouble()
, which is the laziest implementation possible but does a couple of pointless realloc calls.