V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
andyfan
V2EX  ›  程序员

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

  •  
  •   andyfan · 2016-11-21 09:34:55 +08:00 · 5124 次点击
    这是一个创建于 2957 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前除了游戏引擎的基础算法外,还有那些场景是需要程序员特意花费精力甚至手动调汇编代码,以期提高一点的运行效率的?
    ================================================================
    记得初学编程的时候,觉得代码优化是个很有魅力的事情,当算法已经最优的时候,甚至还会内联汇编动用上诸如 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   ·   实用小工具   ·   2808 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:03 · PVG 23:03 · LAX 07:03 · JFK 10:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.