- 主题:这个std::move(shared_ptr<Test>)能提高多少效率?
我做过的性能优化,都是VTune ATime测一下,标出热点,改改。
要么是系统性的上个jmalloc,或者针对某类对象,分配对象池。
项目类型不同吧。没有抠到极致,都是Low hanging fruits.
你说的得懂点汇编,才能跟中国国际人解释效果提高,我不能理解。
【 在 z16166 的大作中提到: 】
: 这个关系不太对。学C++不一定需要学C。
: 学C/C++需要懂一点汇编,不然怎么跟自己、跟人解释哪些地方效率提高了
: 如果不是为了运行效率,还不如去学go、java、js、py。
: ...................
--
FROM 61.185.187.*
握手。如果是你,你会写这个move不?
【 在 jimmycmh 的大作中提到: 】
: 几乎可以肯定,热点不会在这
:
--
FROM 61.185.187.*
不用,包括传shared_ptr的引用
【 在 DoorWay (DoorWay) 的大作中提到: 】
: 握手。如果是你,你会写这个move不?
--
FROM 115.171.244.*
抠细节的时候。比如要回答你顶楼里的这个问题
【 在 DoorWay 的大作中提到: 】
: 我做过的性能优化,都是VTune ATime测一下,标出热点,改改。
: 要么是系统性的上个jmalloc,或者针对某类对象,分配对象池。
: 项目类型不同吧。没有抠到极致,都是Low hanging fruits.
: ...................
--
FROM 114.245.195.*
所以来探探大家的经验,你实际项目中,做没做过性能优化,抠到汇编这个层次没?
要是你,你定这个move不?
【 在 z16166 的大作中提到: 】
: 抠细节的时候。比如要回答你顶楼里的这个问题
:
--
FROM 61.185.187.*
你确定这样真的可以提高性能?
【 在 DoorWay 的大作中提到: 】
: void polarity\_test(std::shared\_ptr<Test> test)
{
test->harness->callAndReport(\ mutable
{
test2->reverse_polarity();
: ..................
发自「今日水木 on M2007J17C」
--
FROM 36.143.59.*
我不确定。
我是看到这样的写法,不明白。想来想去,除了提高效率,还能有什么意图?
【 在 GoGoRoger 的大作中提到: 】
: 你确定这样真的可以提高性能?
: {
: test->harness->callAndReport(\ mutable
: ...................
--
FROM 61.185.187.*
可能还是安全考虑吧,把所有权收回,比较优雅。
【 在 DoorWay 的大作中提到: 】
:
: 我不确定。
: 我是看到这样的写法,不明白。想来想去,除了提高效率,还能有什么意图?
: --
:
发自「今日水木 on M2007J17C」
--
FROM 36.143.59.*
大头都是算法,基本这程度上的优化没必要
【 在 DoorWay 的大作中提到: 】
: 所以来探探大家的经验,你实际项目中,做没做过性能优化,抠到汇编这个层次没?
: 要是你,你定这个move不?
: --
发自「今日水木 on iPhone XR」
--
FROM 124.126.137.*
各种crypto库里大把汇编的优化啊
比如OpenSSL里那个perl脚本生成的MD5汇编代码,很久以前对比试过,比它C的实现大约快30%
当然,这个并不是我做的,只是选型对比。
你不用,不代表别人不用,STL库里很多都用&&改造过了。
这些基础设施(或者叫轮子),是能优化就优化。不搞基础设施的,随便玩吧,只要业务别垮就行,不行砸钱加机器好了。
之前版上我记得还有一个说call层次太深导致性能问题的。所以编译器还会提供不建立ebp栈帧的可选优化。
这两天我在看一个人写的代码,std::string全是传值。。。
这会影响业务速度吗?小字符串肯定不会。但是给人的印象是业余
【 在 DoorWay 的大作中提到: 】
: 所以来探探大家的经验,你实际项目中,做没做过性能优化,抠到汇编这个层次没?
: 要是你,你定这个move不?
--
修改:z16166 FROM 114.245.195.*
FROM 114.245.195.*