tinloaf opened a new pull request, #2806:
URL: https://github.com/apache/thrift/pull/2806

   <!-- Explain the changes in the pull request below: -->
   Currently, the `to_string()` overloads in `TToString.h` call the 
`std::locale` constructor for every single call. Creating locales is 
surprisingly expensive. We have an application where we - especially during 
tests - write large amounts of Thrift dumps to disk, and is this application we 
currently spend around 17% of total CPU time in std::locale's constructor 
(building with MSVC, in a Release build - other compilers might optimize this 
away?). With this change, it's basically down to zero.
   
   Since we always create the exact same locale anyways, using a `const static` 
one does not hurt.
   
   <!-- We recommend you review the checklist/tips before submitting a pull 
request. -->
   
   - [x] Did you create an [Apache 
Jira](https://issues.apache.org/jira/projects/THRIFT/issues/) ticket?  
([Request account here](https://selfserve.apache.org/jira-account.html), not 
required for trivial changes)
   - [x] If a ticket exists: Does your pull request title follow the pattern 
"THRIFT-NNNN: describe my issue"?
   - [x] Did you squash your changes to a single commit?  (not required, but 
preferred)
   - [x] Did you do your best to avoid breaking changes?  If one was needed, 
did you label the Jira ticket with "Breaking-Change"?
   - [x] If your change does not involve any code, include `[skip ci]` anywhere 
in the commit message to free up build resources.
   
   <!--
     The Contributing Guide at:
     https://github.com/apache/thrift/blob/master/CONTRIBUTING.md
     has more details and tips for committing properly.
   -->
   


-- 
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: dev-unsubscr...@thrift.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to