c*********7 发帖数: 19373 | 1 面试中经常会被问道programming optimization的问题,一般来说主要的优化方法有哪
些?
我觉得,
1.从算法上优化,降低时间和空间复杂度。
2. 从逻辑上减少一些不必要的循环,例如降低loop的level数量。
3.一些trick,比如if(A&B),通常把容易false的条件/用时少的放在A,这样不用考虑B
大家还有啥建议 |
e***l 发帖数: 710 | |
a********m 发帖数: 15480 | 3 展开循环。
simd.
汇编。
关键还是找到瓶颈。 |
D*******e 发帖数: 151 | 4 For an interview, I think algorithm and data structure is the key. Tricky
skill is not important. |
a****l 发帖数: 8211 | 5 最常见的最有效的是减少重复劳动.如果没有重复劳动,那基本上是优化不出来多少东西
的了.
虑B
【在 c*********7 的大作中提到】 : 面试中经常会被问道programming optimization的问题,一般来说主要的优化方法有哪 : 些? : 我觉得, : 1.从算法上优化,降低时间和空间复杂度。 : 2. 从逻辑上减少一些不必要的循环,例如降低loop的level数量。 : 3.一些trick,比如if(A&B),通常把容易false的条件/用时少的放在A,这样不用考虑B : 大家还有啥建议
|
a********m 发帖数: 15480 | 6 看情况。 如果想找有这方面经验的人知道tricky skill也是有关系的。 当然普通的话
不是必须的。
【在 D*******e 的大作中提到】 : For an interview, I think algorithm and data structure is the key. Tricky : skill is not important.
|
y*******g 发帖数: 6599 | 7 我觉得最主要的是要measure profile然后找到哪里需要优化
优化后跑profile来确定的确优化了。而不是guess
很多所谓优化要么没用 要么反作用 都是因为瞎猜造成的。找到原因再谈各种balabala
可以进一步指出profile tool不是万能,常见问题包括Java的本来可以被vm jit加速的
code很可能在profile时候被disable,造成需要优化的假象,这时需要自己想其他办法
来衡量performance比如打印log |