CompilerDev 板


LINE

前几天在HN看到的不错文章: https://robert.ocallahan.org/2020/08/what-is-minimal-set-of-optimizations.html Zero Abstraction 虽然听起来很深奥 但其实你大概每天都会遇到:用最简单的解释方法 就是程式设计师只要专注於抽象层面的设计,例如使用各种standard library的资料结构 ,而不用去担心效能方面的问题。 听到最後一句「不用担心效能」 萤幕前的你大概就猜得出来这终究只是个理想。 其中一个阻碍就是编译器大部分时候都「看」不到程式设计师脑中的抽象结构,只能就 比较底层的结构,像是IR,做优化。 上面分享的文章就在探讨 到底哪些演算法是会帮助编译器优化这些高阶的概念 使得Zero Abstraction离理想的目标更近一些。原作者认为有这些: 1. Inlining 2. Copy Propagation 3. (Limited) Dead Code Elimination 4. Scalar Replacement (i.e. LLVM 的 SROA) 除此之外原作者则认为 Common Sub-Expresion Elimination 视情况可能有帮助 能明确回答这问题还有一个好处:如果我们在debug build (i.e. -O0) 也开启这些优化 那个 debug build 不仅有较为精确的 debug info,效能也不会差到哪边 ====== 最近几年对於高阶抽象的编译器优化开始慢慢浮上台面 其中一个最有名的例子就是 MLIR。虽然有一狗票的人看到他的名字里面有"ML"就不管青红皂白用下去,但就连 发明者Chris Lattern也强调MLIR可以解决的是更广泛的面向,也就是本文围绕的 、於高阶抽象层级的优化,有别於传统编译器都等到转换成很接近硬体的媒介後才做优化 用更大胆一点的说法就是 假如今天把 MLIR 应用於优化 C++ STL,搞不好带来的效益 会远大於目前的用途,毕竟STL已经是今日C++软体开发的骨干了 另外一个有趣的点是原文最後提到的、可能有助於debug build的效能改善。本鲁有幸 帮 PlayStation 的 compiler team 打零工倒茶(笑),基本上他们目前最苦恼的也是一 样的问题。原因很简单:游戏开发者不可能用毫无优化的游戏来debug,因为如果没有 优化、基本上保证100%掉帧 根本玩不了 目前解决方法都朝加强Release build 的 debug info 品质。至於目前的进度的话, line number还算准确堪用,但显示被优化掉的变数目前还是一大问题(如果一个变数 被优化到完全不会放在记忆体,在debugger里面想印出他的数值会显示"<optimized out>" )。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 169.234.228.215 (美国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/CompilerDev/M.1596929976.A.38A.html
1F:推 Lipraxde: 不知到用 JIT 有没有机会改善 debugging 的问题 08/09 19:38
2F:推 flypaper: 推推 我觉得这部份蛮有趣的 08/21 12:08







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灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP