C_and_CPP 板


LINE

以 (SGI) C++ STL std::list 的例子来说: 因为涉及很多对资料结构低阶的操作,所以实作上势必有很多内部函数的呼叫, 像是 protected: void transfer(...); 就是一个明显的例子,被反覆呼叫很多次。 假使不在乎编译出来的执行档膨胀的问题的话,把执行的速度作为最高的原则, 那大家觉得如果把所有函式 inline ,能快上多少?快很多?还是一点点而已? 毕竟很多时候效能的瓶颈就卡在那个最底层的东西上面。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.66.155
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1475139910.A.DE0.html
1F:→ Caesar08: 来看Standard C++怎麽说https://goo.gl/5QiT8y 09/29 17:17
2F:→ Hazukashiine: 哈哈哈哈哈哈 我昨天就在看这个耶 !!! 09/29 17:19
3F:→ Hazukashiine: 只是有点好奇 大家会怎麽觉得 OwO 09/29 17:20
4F:→ Caesar08: 那你就知道 你问的问题很难有正确答案了 09/29 17:20
5F:→ Hazukashiine: 但是我已经快要有答案啦哈哈哈 因为我正实作一个 09/29 17:22
6F:→ Hazukashiine: 完全没有函数呼叫开销的 linked list container 09/29 17:22
7F:→ Hazukashiine: 正因为他们说不一定 所以才更想知道 如果做出来了 09/29 17:24
8F:→ Hazukashiine: 到底是变快还是变慢 还是根本没影响 09/29 17:24
9F:→ Caesar08: gcc有__attribute__((always_inline)) 09/29 17:28
10F:→ Caesar08: VC++有__forceinline。把这个加在他们实作的std::list就 09/29 17:28
11F:→ Caesar08: 好了吧? 09/29 17:29
12F:→ Hazukashiine: 那个还没试过 但是我想要用 C 语言去实作这样的东西 09/29 17:37
13F:推 pili100: 有实验精神 09/29 17:59
void _M_transfer(_List_node_base* const __first, _List_node_base* const __last) throw () __attribute__((always_inline)); 刚刚把呼叫最多次的 _M_transfer 加上 compiler hint 一点效能改变都没有 然後为了确定改的是正确的地方 偷偷把 attribute 拼错 果然编译失败 XDDD http://imgur.com/1OVjug5 我猜编译器应该已经预设 inline 了吧(? ※ 编辑: Hazukashiine (140.113.66.155), 09/29/2016 18:13:42
14F:→ uranusjr: 现在 compiler 太聪明了, 看到 hotspot 自动就会 inline 09/29 18:31
15F:→ uranusjr: 真想在 release build 测出效能差别还满难的 09/29 18:32
16F:推 chchwy: 把optimize开起来 那些函数几乎全部都被inline 09/29 22:23
17F:→ rodion: 不见得会变快 如果碰到膨胀的CODE导致cache miss的话 09/30 10:11
18F:推 LiloHuang: inline 影响速度的可能性很多 https://goo.gl/AWM8UN 09/30 10:21
19F:→ Hazukashiine: 哈哈哈这是一楼附的链接啊 XDDD 默契 09/30 10:26
20F:→ LiloHuang: 没留意到之前有人贴过,总之多做 code profiling 09/30 21:58







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP