通向码农的道路(enet开源翻译计划 二)
来源:互联网 发布:papi酱软件 编辑:程序博客网 时间:2024/06/05 18:08
http://enet.bespin.org
问题一:不能确定STL如何管理内存。假设就按照STL默认的方法来管理内容,则服务器在长时间的分配和释放内存后,容易导致内存碎片,对服务器的稳定有影响。然而,如果没有阅读过STL的源码,谁又能确切地得知STL是如何管理内存的呢?虽然可以在STL中使用自己的分配器,又能够确认STL的某些部分不会在分配器之外进行内存分配呢?
当然,内存管理问题不是STL带来的问题,任何服务器程序本身都要考虑这个问题。原因在极少有人去阅读STL的源码,去了解STL的内部实现机理。因为不了解,所以怀疑;因为怀疑,所以不轻易使用。
问题二:不能确定STL在海量数据下的表现。服务器一般都是海量的内存,为了提高性能大量数据保存在内存中。在非常大的规模的数据下,STL一定能够满足稳定性和效率的需求吗?
问题三:不能确定STL在多线程环境下的表现。以上的内存和规模的问题可以通过加深对STL的了解和测试来解决,但是多线程下的并发问题就不是那么容易解决了。STL不是线程安全的,在多线程环境下,对STL容器的操作都要加锁来确保正确。然后,部分高性能的场合,需要对“读-读”条件下并发进行优化,以及某些锁无关的特殊条件可以不加锁,甚至是采用流行的RCU机制…………在这个倡导多核和并发的时代,STL显得有些落后了。
/*双链表结构*/
0 0
- 通向码农的道路(enet开源翻译计划 二)
- 通向码农的道路(enet开源翻译计划 一)
- 通向码农的道路(-)
- 通向码农的道路(开源 libevent min_heap 实现)
- 通向码农的道路(面试官)
- 通向码农的道路(运镖系统,推荐算法)
- 通向码农的道路(服务器架构设计(一))
- 通向架构师的道路(第十一天)之Axis2 Web Service(二)
- 通向架构师的道路(第十一天)之Axis2 Web Service(二)
- 通向架构师的道路(第十一天)之Axis2 Web Service(二)
- 通向架构师的道路(第十一天)之Axis2 Web Service(二)
- 通向架构师的道路(第十一天)之Axis2 Web Service(二)
- 通向架构师的道路(第十一天)之Axis2 Web Service(二)
- 通向架构师的道路(第十一天)之Axis2 Web Service(二)
- 通向架构师的道路(第十一天)之Axis2 Web Service(二)
- 通向架构师的道路(第十一天)之Axis2 Web Service(二)
- 通向架构师的道路(第十一天)之Axis2 Web Service(二)
- 通向架构师的道路(第十一天)之Axis2 Web Service(二)
- Unfinished List
- Linux-----Ubuntu中apt-get安装源的设置
- 近期任务安排
- SVN的trunk、branches、tags
- Android开源汇总
- 通向码农的道路(enet开源翻译计划 二)
- 【C++基础】——拷贝构造函数的浅拷贝和深拷贝
- Android应用出错 error: Error retrieving parent for item: No resource found that matches the
- unresolved external symbol __endthreadex错误解决
- Design Pattern Explained 读书笔记三——Facade
- ZOJ 3640 Help Me Escape (概率DP)
- 通过/proc/stat文件计算CPU的利用率
- unresolved external symbol “symbol”
- kafka-0.8.2.1-src编译报错解决办法