davisp opened a new pull request #806: FEEDBACK ONLY: Compactor optimize emsort
URL: https://github.com/apache/couchdb/pull/806
 
 
   This PR is for feedback only. We've got PSE almost ready to merge so this 
will need to be slightly re-worked for that case which should theoretically cut 
down on the size of the change since the couch_bt_engine already contains most 
of the big diffs trying to clean up the compactor code so it can be worked on.
   
   The crux of this optimization is to add the new append_terms and pread_terms 
APIs to couch_file which allows us to read and write multiple iolists to a 
couch_file simultaneously. This is quite helpful for things like emsort that 
used to write large terms to disk and then have to copy them multiple times 
during its decimation phase. With the multi-IO APIs we can write them all at 
once and then just use the file offsets during the sort phases. Attempting to 
do the same approach using append_term/pread_term introduces significant 
amounts of time to compaction due to the increased number of calls through 
couch_file.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to