锁定老帖子 主题:关于性能优化
精华帖 (2) :: 良好帖 (10) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2011-01-28
就像前面老抛说的,优化这个东西,是否真的能带来优
是尚未可知的问题,过早的优化和盲目的优化都是扯淡 这和高不高手没有关系,在没有成为真正的性能瓶颈之前就考虑折磨大脑 即使高手也忙不过来 在保证了逻辑模型的正确性后,再对系统性能的瓶颈进行调优,才能把优化造成危害的可能性降低。 战略永远高于战术,到哪都一样,高手应该是战略高手,而不是战术高手 |
|
返回顶楼 | |
发表时间:2011-01-28
iaimstar 写道 就像前面老抛说的,优化这个东西,是否真的能带来优
是尚未可知的问题,过早的优化和盲目的优化都是扯淡 这和高不高手没有关系,在没有成为真正的性能瓶颈之前就考虑折磨大脑 即使高手也忙不过来 在保证了逻辑模型的正确性后,再对系统性能的瓶颈进行调优,才能把优化造成危害的可能性降低。 战略永远高于战术,到哪都一样,高手应该是战略高手,而不是战术高手 高手知道什么时候要做什么。如果连你能想到的东西高手都想不到的话,那怎么还能称为高手呢? 明白了? |
|
返回顶楼 | |
发表时间:2011-01-28
最后修改:2011-01-28
ironsabre 写道 iaimstar 写道 我记得啥书来着
里面说 优化的第一原则 不要优化 这么说是因为低水平的选手太多了,怕大家乱搞。 真正的高手不受这个原则限制。 你确认看过第二句么? 要不要我把页码告诉你你再过去看看第二行写的是什么 ? PS:很多toString方法是eclipse生成的, 还有toString是用Common lang toStringBuilder反射出来的. 集合包里的listtostring就是底归的.... 没有外面的if(isDebug) 这些toString方法会被 + 号所触发. 在hibernate里轻轻松松破掉lazy load 当然这都是极端情况. 尽量不要写这种可能有问题而且无意义的代码才是我主要要说的.... 如果需要至少要把这种代码包装起来..... class MyLogZ{ public static void DEBUG(Logger log , Object .... message){ if(log.isDebug())return; StrinBuilder buffer = new StringBuilder(); for(Object o message){ buffer.appand(""+o); } log.debug(buffer.toString()); } } 战略不战略我不知道. 规则必有因. 去掉规则也有很多办法 |
|
返回顶楼 | |
发表时间:2011-01-28
1,许多计算机方面的错误都是因为进了没有必要的优化而导致的,包括一些极度愚蠢的错误;
2,不要为了一些细小的效率提升而进行优化,据说97%的情况下不成熟的优化行为才是万恶之源; 3,时刻记得2个优化原则:不要优化;除非你有了一个明确和可行的优化方案。 |
|
返回顶楼 | |
发表时间:2011-01-28
如果你从初学者就开始一直坚持优化,肯定不是坏事,慢慢就会懂得那些地方不值得优化,那些地方需要付出复杂度来换取性能,程序的性能最后总是是追求平衡的结果,不要优化就是另一个极端
写代码至少弄清楚机器能到什么性能,自己的应用到了什么性能。见过的几乎绝大多数性能问题都是设计和实现的问题,真要调优,OS和数据库层面的调优已经是最后的活命稻草,救回来也属于苟延残喘,让整个部署更加复杂和丑陋 所以老外有哪些专门写core的和写外围的coder的区别,那些大牛细节知识已经足够让他们不写低效代码,所以提倡尽量不优化 他们所写的effective xx目的就是要你注意细节再注意细节,哪些细节是高效可靠的,他们不提倡优化是因为已经把类似的这些条条框框都融入到骨子里了 coder不是项目经理,政治家,ceo,搞什么战略,更像开刀的,不是什么地方都随你放血,随你割,动完刀子再给你调优,有些关键的细节你就是旁边递钳子的也要懂,当然如果一辈子都决心要杀猪这个是过分了 |
|
返回顶楼 | |
发表时间:2011-01-30
抛出异常的爱 写道 PS:楼上几个不是在开 我玩笑么? 项目中没有这样用,接触的项目也不多,3Q! |
|
返回顶楼 | |