Soft_Job 板


LINE

不同时期的人有不同看法吧。 当你的工作是OS/driver或比较大型的软体系统时,看到底下的#1,我想问: 哪时候才会没有问题发生呢? 小公司一个专案的bug编号了不起三位数、四位数,我会说你说得还好。 大公司一个长期维护的产品bug编号会是六、七位数以上,每天几百个人一起改code, 几乎每天都有固定数量以上的bug被提报,没问题发生就是要发生大事了。 如果你的工作大半都是在别人几天前、几星期前、几个月前写的code上抓bug, 某个程度上,你一定要知道别人、编译器、作业系统、硬体到底干了哪些事情的啊, 只是搞得多清楚的差别。 ※ 引述《lgd1008 (lgd1008)》之铭言: : 另外不必事事知道底层的例子, 可以参考自己与身旁同事的 program integration : 你何时需要知道同事的实作细节? 太概就只有 : 1.问题发生的时侯, 2.交接的时侯, 3.想找东西学习的时侯... : ※ 引述《lgd1008 (lgd1008)》之铭言: : : 高阶语言不会是eye candy : : 高阶语言compile出来之所以会比较慢/大, 是因为它引入的更多的附加物 你底下说的不一定,我都干过了,所以我不认为弄半天也没办法弄出那样的效能; 当然这感受是因人而异的。我会说那并不是什麽大不了的事情。 举个简单的例子,我高中时曾经用几个不同语言写阶乘计算的小东西来磨练自己, 目标是能够算出电脑记忆体能够允许的最多位数的阶乘。 这是个小题目,可是可以让一个人在已经做好的东西不断再去加强效能, 思考怎样可以让它跑得更快,比较各种手法的不同效率。 因为高阶语言的overhead,大数计算用组语作在执行效能上仍然会是最快的。 即使是今日,几乎天天在看微软的编译器生出来的机械码,我的意见不会改变。 凡事都有边际效益的差别,同样做个对照,低阶语言 vs. 高阶语言,C vs. Java: Java JIT再怎麽强,跟C/C++生的原生code就是有效能差异。 就算单纯是一个固定比例的差异,10%来讲,当CPU时脉愈来愈高, pipeline内能够同时执行的指令愈多,差那10%,可能代表的就是0.1 GFLOPS的差别。 实际上是差更多,我看过的一些案子就是,实际上处理的资料量明明就没那麽大, 可是因为garbage collection没办法那麽有效消化垃圾,应该是几台高档PC当server 跑起来应该要OK的东西,搞到要用很贵的机器来让客户觉得效能能够令人接受。 (几亿元的机器来跑,效能仍然令人不满意,只是可以接受而已) 关键在於你牺牲那些效能,能提高多少生产力,节省多少开发时间, 会不会有别的问题伴随而来?上面就提到了garbage collection的问题。 不同工具,适合的工作也不同。 : : 反过来说, 一些较复杂的algorithm, 或复杂的应用 : : 你用低阶语言也不一定做得出它的 performance : : 因为光要做出与高阶语言特色能匹敌的library, 可能就是一件难事 : : 例如有些语言, 提供你不限大小的型别去做运算 : : 你用低阶语言去实作, 参考, 组合, 包装 .... 一些大数运算的library : : 可能弄了半天都没有办法做出那样的 performance, 或写出相同简洁的程式. : : 个人意见 我只是组语摸了20年,几个高阶语言跟VM的runtime library内部实作看透透, 在几个不同领域待过,一点浅见而已。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.10.18
1F:→ iincho:问题在大部分的状况你的问题不是只有一个大数运算这种级数 02/24 10:51
2F:→ iincho:手工处理大量的组语的时候不见得会赢过在更上层花功夫的人 02/24 10:53
3F:→ yauhh:我认为你搞错论点了.声明一个语言不错,并不代表工作情况全都 02/24 10:53
4F:→ yauhh:套到那个语言上. 工作该做什麽,很多不是讲了就算数啊. 02/24 10:53
5F:→ yauhh:另外请问有没有看过像Lisp的底层呢?既然VM实作都"看透透" 02/24 10:54
6F:→ iincho:当然如果你的工作就是算Pi的话我想用组语刻可能最快啦..XD 02/24 10:55
7F:→ iincho:以现代软体工程的复杂度, 用组语最快除了tune performance 02/24 10:58
8F:→ iincho:在大部分的状况下, 这句话可以说是没有意义的.. 02/24 10:58
9F:→ TonyQ:但是话说回来,软体工程再怎麽复杂也逃不出工具的实做, 02/24 12:21
10F:→ TonyQ:tune performance 你我都很心知肚明在某些时候是很重要的.XD 02/24 12:21
11F:→ TonyQ:所以我认为他说「不同工具,适合的工作也不同」这点跟「牺牲 02/24 12:22
12F:→ TonyQ:效能换来多少生产力」这两点,他只是想说组语并没有该篇说的 02/24 12:23
13F:→ TonyQ:可以完全被编译器/最佳化取代吧 02/24 12:26
14F:→ iincho:我到不认为一定是牺牲效能, 假设把更多精力花在问题分析上 02/24 12:53
15F:→ iincho:你赚到的效能搞不好比那边弄组语快, 所以我说一定要tune 02/24 12:54
16F:→ iincho:这件事不一定是对的, 尤其在问题复杂度在某个级数以上... 02/24 12:54
17F:→ iincho:所以我认为用高阶语言 == 牺牲效能这件事不一定能成立 02/24 12:55
18F:→ iincho:某公司就发生过用组语手工刻SIMD刻输用C写的...XD 02/24 12:57
19F:→ remmurds:这篇不就是标准的老人思维吗? 02/24 20:53
20F:→ atst2:应该说是写东西给别人用,跟用别人写的东西,观点会不同. 02/24 21:40
21F:推 TonyQ:不一定能成立, 不过这或许也可以套你的话 , 02/25 14:31
22F:推 ggg12345:软体工程,写程式等不知道是否要考虑架构,把办公大楼盖成 02/25 16:59
23F:→ ggg12345:住家公寓,算那个环节的错?学习这类架构与需求的算实用吗? 02/25 17:07







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

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

TOP