-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
Use Case
As a Node.js Driver engineer
I want to spread CPU intensive work across event loop ticks
So that Node.js applications remain as responsive as possible
User Impact
- Currently the driver parses all BSON at once. The goal is to experiment with parsing only the BSON needed for driver functionality (ok:1/0, errmsg, cursor.id) and parse the rest (firstBatch, nextBatch) as a cursor is iterated.
Dependencies
Unknowns
- None
Acceptance Criteria
Implementation Requirements
- PoC parsing partial cursor results and parsing the user data as we iterate
- Measure the performance effects of this change
- Answer the following:
- What are the performance gains?
- How much BSON "parsing" logic belongs in the driver vs in BSON?
Testing Requirements
- Existing tests to ensure no regressions
- Unit test conditions that enable partial parsing (only occurs for specific cursor commands)
Documentation Requirements
- None
Follow Up Requirements
- None