nickva opened a new pull request, #5697:
URL: https://github.com/apache/couchdb/pull/5697

   Optimizations consist in 3 improvements:
   
    * In fabric_doc_purge use maps instead dicts. During setup avoid traversing 
the requests and uuids too many times. Instead, generate more in the same  
iteration: when creating requests, generate the response structure; when  
generating worker uuids, generate uuids counts.
   
    * Reduce purge UUID sizes by half by using binary values instead hex 
encoded values. These UUIDs are generated internally and are never returned or 
accepted through the API so we don't have to hex-encode them.
   
    * Add UUID v7 as a separate commit  and use UUID v7 for purge UUIDs. 
Generate them directly instead of going through
    a single gen_server bottleneck like before. They are standard, and yet 
preserve the same nice sequential prefix property which help when these are 
used for B-tree IDs (which they are in this case).
   
   Expand the test suite a bit, add at least one end-to-end test and a few more 
test functions. The coverage increases from about 80% to almost 100%.
   
   Add a few comments with the shape of various data structures as a reminder 
for the future.
   
   Purging 100k conflicted docs on a q=1,n=1 db improved from 106 sec to 87 sec 
which is about 18%


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to