[SERVER-24082] Lessen impact of error handling on succesful path Created: 06/May/16  Updated: 06/Jun/16  Resolved: 17/May/16

Status: Closed
Project: Core Server
Component/s: Internal Code, Performance
Affects Version/s: None
Fix Version/s: 3.3.8

Type: Improvement Priority: Major - P3
Reporter: Mathias Stearn Assignee: Mathias Stearn
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Integrate+Tuning 14 (05/13/16)
Participants:

 Description   

This involves telling the compiler (where supported) which functions are for error handlers, and moving some work (such as string creation) from the callers to the error handling functions.



 Comments   
Comment by Githook User [ 17/May/16 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-24082 Never allocate an ErrorInfo for OK Statuses

This makes the isOK() check cheaper.
Branch: master
https://github.com/mongodb/mongo/commit/0992359125430701cb2f7432ac4782b69d983407

Comment by Githook User [ 09/May/16 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-24082 Move std::string construction into Status constructor

Previously it was done at every call site that used string literals.
Branch: master
https://github.com/mongodb/mongo/commit/26586d84484c16f3d5aa7ab4cad87552e4b8bc5f

Comment by Githook User [ 09/May/16 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-24082 Hint the compiler that error functions are cold
Branch: master
https://github.com/mongodb/mongo/commit/fb439046f73ce10b862750df853746c41e9e2e81

Comment by Githook User [ 09/May/16 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-24082 Implement uassertStatusOK and friends in terms of more basic asserts
Branch: master
https://github.com/mongodb/mongo/commit/47e3245fa23e778376a4a3492ebaba471a29417f

Comment by Githook User [ 09/May/16 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-24082 Make it easier for compiler to out-of-line error cases

This has the direct impact of moving the error message building code out of
line and possibly shrinking the stack size of functions. It also has the
indirect benefit of making it easier to inline the condition checking portions
of functions that uassert.
Branch: master
https://github.com/mongodb/mongo/commit/7e7605bcb7eed745a9dd3602806258fa57aedc96

Generated at Thu Feb 08 04:05:19 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.