[SERVER-8004] assorted count optimizations Created: 21/Dec/12  Updated: 10/Dec/14  Resolved: 12/Nov/13

Status: Closed
Project: Core Server
Component/s: Querying
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Aaron Staple Assignee: Unassigned
Resolution: Done Votes: 1
Labels: query_triage
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PDF File count perf.pdf    
Issue Links:
Related
related to SERVER-1752 improve the performance of simple counts Closed
Participants:

 Description   

A collection of small optimizations have been shown to improve the performance of simple counts about 3x in testing. They include:

  • caching a BtreeBucket retrieved from a DiskLoc in IntervalBtreeCursor
  • a simplified implementation for checking if the read lock should be yielded in count.cpp
  • reducing the number of calls to Cursor interface functions in count.cpp and IntervalBtreeCursor
  • a new Cursor::acceptCurrent() function that avoids a call to currLoc() and avoids virtual calls in some cases

Generated at Thu Feb 08 03:16:16 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.