- 主题:c++发展到今天,已经很难学通了
debug版本能放大一些考虑不周的地方
这两天用debug版本跑一个测试,内存很快飙到好几个G,刚开始以为是leak,
后来发现release没这问题。而且debug开了page heap和VLD导致暴涨,知道这里的内存分配策略有点问题。
【 在 capriccio 的大作中提到: 】
: release版自然可以忽略,debug版不能忍,还有vector之类的。
: 但经常debug也对性能有要求的,慢了几乎无法调试
:
--
修改:z16166 FROM 222.130.137.*
FROM 222.130.137.*
std::shared_ptr<>?
一个是引用计数的开销,一般是单条指令实现,InterlockedIncrement()之类的
另一个是多了一层指针间址。
这些可能还没有debug版那些没有优化掉的函数prolog/epilog代码的开销大,还有STL和CRT内部的各种检查。
【 在 GoGoRoger 的大作中提到: 】
: 据说多线程开销会很大
:
:
--
FROM 222.130.137.*
鼓动提升gcc版本。我掺和的工程,我一般都是鼓动先把编译器的支持搞到C++20,至于用不用C++20的特性,个人自愿。
不过如果没决定权、对有决定权的人也没影响力的话,也就是说说而已,可能还不如不说。
智能指针或者说RAII,可以说是C++必须要掌握、要用的东西吧,否则不如回头去写C
【 在 GoGoRoger 的大作中提到: 】
: 之前工作的 gcc 版本太低,所以几乎没有用智能指针的习惯。。。。
发自「今日水木 on M2007J17C」
--
修改:z16166 FROM 222.130.137.*
FROM 222.130.137.*
我认识一个team的,他们甚至愿意尝试最新版的gcc,为了用新特性,当然,可能不是用在生产版本上。
在以前的公司把VS2008提升到VS2017,leader问这样做有什么收益?我说生产工具就是生产力。
当然,更换编译器尤其是跨大版本一般会遇到坑,需要开发和测试去趟平
【 在 GoGoRoger 的大作中提到: 】
: 提升 gcc 又不能体现在 kpi 上,没几个国内公司愿意做的,比较著名的就是百度冻结在 gcc 3.4.5。
发自「今日水木 on M2007J17C」
--
修改:z16166 FROM 222.130.137.*
FROM 222.130.137.*
2016年已经升级到4.8了
看评论,都是视为反面教材的
https://www.zhihu.com/question/21042367
【 在 GoGoRoger 的大作中提到: 】
: 提升 gcc 又不能体现在 kpi 上,没几个国内公司愿意做的,比较著名的就是百度冻结在 gcc 3.4.5。
发自「今日水木 on M2007J17C」
--
FROM 222.130.137.*