Github user zwoop commented on the pull request:

    https://github.com/apache/trafficserver/pull/525#issuecomment-200354234
  
    +1 on adding it to lib/ts. As for STL, the general rule is that if 
something runs on the critical path (e.g. as part of the HttpSM, or normal 
transaction handling), where it is performance sensitive, we should make every 
effort to avoid STL. As a subsidiary to that, we should really think hard 
before using std::string on said critical path as well (there's generally 
little reason to use std::string there).
    
    Now, the exception here are two things:
    
    1) Plugins. We don't dictate anything for plugins, so use whatever you deem 
necessary to make it work. If someone doesn't like it, they can either fix it, 
or they can not use the plugin.
    
    2) Anything not on the critical path. This includes configuration loading, 
traffic_manager/cop, periodic tasks, tests etc.
    
    That much said, don't use STL just for the hell of it. If there is a 
reasonable alternative to use in lib/ts, please use it. Dragging in STL does 
increase binary sizes, which could affect performance in other ways (such as 
worse L2/3 caches etc.). It also sets bad precedence, where someone seeing it 
used, makes the mistake and thinks it's ok to use everywhere.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to