This topic created in 3635 days ago, the information mentioned may be changed or developed.
目前除了游戏引擎的基础算法外,还有那些场景是需要程序员特意花费精力甚至手动调汇编代码,以期提高一点的运行效率的?
================================================================
记得初学编程的时候,觉得代码优化是个很有魅力的事情,当算法已经最优的时候,甚至还会内联汇编动用上诸如 xor 判断数相等,位移运算快速乘法这类的技巧最大化运行效率,当然数据量小最终的运行效率并没有明显的变化,只是为了满足自己内心的那份成就感:这份代码在我手里已经最优了。大家有类似经历或者感受的吗,可以分享一下。
29 replies • 2016-11-22 09:35:48 +08:00
 |
|
12306....?
|
 |
|
单片机,为了那一点点功耗进行 N 多次代码调整。从待机 1ma 降到了待机 0.2ma (当前硬件下没法再降了)。
|
 |
|
2l +1
|
 |
|
大规模的数据处理。。。
|
 |
|
应用在某些滑动场景的稳定 60FPS 音视频编码 NoSQL 大数据 人工智能
|
 |
|
还有各种硬件瓶颈的地方,批量 IO ,大规模并发等等
|
 |
|
集成电路仿真……应该也属于大规模数据处理吧。一个 case 能跑几天,跑的花都谢了……
|
 |
|
只要量大,就要扣性能。并不是上更多的机器就完事了。
|
 |
|
只要规模上去都要优化性能的,你去看看 B 站?
|
 |
|
算法慢,慢的是局部,并不难优化。 架构烂导致的慢,那才是真的慢。
|
 |
|
sagaxuNov 21, 2016 via Android
12
编译器自己会优化,绝大部分人是优化不过编译器的。现在嵌入式系统也配置很高了,需要手动优化的地方越来越少了。
|
 |
|
嵌入式驱动代码什么的
|
 |
|
月度 KPI ,季度 KPI ,年度 KPI
|
 |
|
硬件有限的情况下需要,不乱 IO ,分配内存要小心翼翼,以前写代码分配内存几个字节都计算的清清楚楚,现在时代变了, new 了就不管了
|
 |
|
lock-free data structure and algorithm
|
 |
|
深度学习 卷积操作好像都是汇编的
|
 |
|
交易吧 广告系统里有交易的,还有高频交易
|
 |
|
系统底层
|
 |
|
高并发访问的服务,要么花钱堆硬件,要么拼命做优化
|
 |
|
或者企业要降低成本的时候也要抠。 最近做的一个就是放弃使用 oracle exadata , 一大堆 SQL 需要做优化。。
|
 |
|
高并发系统,特别是处理 IO 问题的时候
|
 |
|
大部分情况下 不需要你自己去死抠了,别人已经帮你死抠好了。
|
 |
|
c/c++的应用领域基本上都是对性能有需求的:游戏引擎、图像处理、机器学习、高频交易、操作系统、网络通信。。。
|
 |
|
大数据处理
|
 |
|
网络通信
|
 |
|
CAD
|
 |
|
规模大了活着硬件烂
|
 |
|
只要是生产系统, 大多数都有优化的必要, 但是大多数的优化入手点并不是代码级的.
|