目前除了游戏引擎外,还有哪些场景是需要程序员死抠代码性能的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
andyfan
V2EX    程序员

目前除了游戏引擎外,还有哪些场景是需要程序员死抠代码性能的?

  •  
  •   andyfan 2016-11-21 09:34:55 +08:00 5534 次点击
    这是一个创建于 3253 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前除了游戏引擎的基础算法外,还有那些场景是需要程序员特意花费精力甚至手动调汇编代码,以期提高一点的运行效率的?
    ================================================================
    记得初学编程的时候,觉得代码优化是个很有魅力的事情,当算法已经最优的时候,甚至还会内联汇编动用上诸如 xor 判断数相等,位移运算快速乘法这类的技巧最大化运行效率,当然数据量小最终的运行效率并没有明显的变化,只是为了满足自己内心的那份成就感:这份代码在我手里已经最优了。大家有类似经历或者感受的吗,可以分享一下。
    29 条回复    2016-11-22 09:35:48 +08:00
    lfk0000
        1
    lfk0000  
       2016-11-21 09:40:29 +08:00 via Android
    12306....?
    xmoiduts
        2
    xmoiduts  
       2016-11-21 09:46:42 +08:00
    单片机,为了那一点点功耗进行 N 多次代码调整。从待机 1ma 降到了待机 0.2ma (当前硬件下没法再降了)。
    wowo243
        3
    wowo243  
       2016-11-21 09:54:52 +08:00 via Android
    2l +1
    ChopinWong
        4
    ChopinWong  
       2016-11-21 10:05:13 +08:00
    大规模的数据处理。。。
    grayon
        5
    grayon  
       2016-11-21 10:10:01 +08:00   1
    应用在某些滑动场景的稳定 60FPS
    音视频编码
    NoSQL
    大数据
    人工智能
    hareandlion
        6
    hareandlion  
       2016-11-21 10:10:59 +08:00 via iPhone
    还有各种硬件瓶颈的地方,批量 IO ,大规模并发等等
    wangxkww
        7
    wangxkww  
       2016-11-21 10:11:53 +08:00
    集成电路仿真……应该也属于大规模数据处理吧。一个 case 能跑几天,跑的花都谢了……
    28ms
        8
    28ms  
       2016-11-21 10:13:20 +08:00
    只要量大,就要扣性能。并不是上更多的机器就完事了。
    Ouyangan
        9
    Ouyangan  
       2016-11-21 10:15:20 +08:00
    @28ms +1
    jimzhong
        10
    jimzhong  
       2016-11-21 10:17:15 +08:00
    只要规模上去都要优化性能的,你去看看 B 站?
    besto
        11
    besto  
       2016-11-21 10:19:09 +08:00   1
    算法慢,慢的是局部,并不难优化。
    架构烂导致的慢,那才是真的慢。
    sagaxu
        12
    sagaxu  
       2016-11-21 10:19:21 +08:00 via Android
    编译器自己会优化,绝大部分人是优化不过编译器的。现在嵌入式系统也配置很高了,需要手动优化的地方越来越少了。
    hardensky
        13
    hardensky  
       2016-11-21 10:20:23 +08:00
    嵌入式驱动代码什么的
    woodfish
        14
    woodfish  
       2016-11-21 10:20:25 +08:00   1
    月度 KPI ,季度 KPI ,年度 KPI
    nicevar
        15
    nicevar  
       2016-11-21 10:27:47 +08:00
    硬件有限的情况下需要,不乱 IO ,分配内存要小心翼翼,以前写代码分配内存几个字节都计算的清清楚楚,现在时代变了, new 了就不管了
    lsmgeb89
        16
    lsmgeb89  
       2016-11-21 10:42:55 +08:00
    lock-free data structure and algorithm
    modkzs
        17
    modkzs  
       2016-11-21 13:05:13 +08:00
    深度学习 卷积操作好像都是汇编的
    bombless
        18
    bombless  
       2016-11-21 13:20:16 +08:00
    交易吧
    广告系统里有交易的,还有高频交易
    loading
        19
    loading  
       2016-11-21 13:21:01 +08:00 via Android
    系统底层
    learnshare
        20
    learnshare  
       2016-11-21 13:22:08 +08:00
    高并发访问的服务,要么花钱堆硬件,要么拼命做优化
    m1a0
        21
    m1a0  
       2016-11-21 13:50:46 +08:00
    或者企业要降低成本的时候也要抠。
    最近做的一个就是放弃使用 oracle exadata , 一大堆 SQL 需要做优化。。
    fukual66
        22
    fukual66  
       2016-11-21 14:59:52 +08:00
    高并发系统,特别是处理 IO 问题的时候
    akira
        23
    akira  
       2016-11-21 15:53:32 +08:00
    大部分情况下 不需要你自己去死抠了,别人已经帮你死抠好了。
    stormpeach
        24
    stormpeach  
       2016-11-21 16:07:11 +08:00
    c/c++的应用领域基本上都是对性能有需求的:游戏引擎、图像处理、机器学习、高频交易、操作系统、网络通信。。。
    asen477
        25
    asen477  
       2016-11-21 16:28:35 +08:00
    大数据处理
    billlee
        26
    billlee  
       2016-11-21 22:08:05 +08:00
    网络通信
    feelapi
        27
    feelapi  
       2016-11-22 07:00:06 +08:00
    CAD
    rashawn
        28
    rashawn  
       2016-11-22 08:05:55 +08:00 via iPhone
    规模大了活着硬件烂
    eyp82
        29
    eyp82  
       2016-11-22 09:35:48 +08:00
    只要是生产系统, 大多数都有优化的必要, 但是大多数的优化入手点并不是代码级的.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1331 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 17:12 PVG 01:12 LAX 10:12 JFK 13:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86