论坛首页 Java企业应用论坛

[表示怀疑]什么样的优化能让Java程序性能提高2.5倍?

浏览 39188 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-11-26  
高手?

我从来就不认为自己是什么高手, 一个人在某方面强,其他方面就不一定强。所以 没有什么高手不高手的问题。

只是觉得我在实践中看到的一些问题,特别是java开发人员常常不注意的问题,我提出来 说明一下我的观点罢了。

还有,模式/构架 在javaeye讨论的够多了, 这方面robbin,dlee是专家。性能的问题 似乎大家都不怎么重视。 而我可能是经历的项目,往往对性能要求不低,所以我觉得有必要提出来一下。

你觉得 我在胡说 那是你的事。
0 请登录后投票
   发表时间:2004-11-26  
gigix 写道
flyingbugs 写道
gigix:别人写的你就都相信?
sun的网站上还说过,它的java比C++快呢!
结果是,在C++打开调试模式的情况下。


所谓实验,是指一种可重复的实践性研究行为。文章就在那里,他做了哪些profile你都可以看到,自己做一遍就知道是真是假了,没必要在这边揣测他是不是骗人。同样,你如果能拿出一个反面的实例,让我重复你的实验得到你的效果,我也会相信你。
0 请登录后投票
   发表时间:2004-11-26  
In general, object pooling is not usually a good idea. It is one of those concepts in programming that is too often used without really weighing the costs against the benefits. Object reuse can introduce errors into an application that are very hard to debug. Furthermore, retrieving an object from the pool and putting it back can be more expensive than creating the object in the first place, especially on a multi-processor machine, because such operations must be synchronized.

嗯 我看了这段 非常同意它所说, gigix你详细的看了这个文档么? 它并不是指出new快于pooling,而是指在某些特定情况下pooling是不可取的。
我也说过,同步同步,同步是最步可取,如果你的pooling非得需要你的同步来实现功能,那么选择不用pooling,而用非同步方法。
但是在不需要同步处理时,pooling是十分有效的。特别是那些不常常改动的Object。
而且 那个文章的作者也指出了 什么时候用pooling比较合适。
而不是一味的否定吧?
0 请登录后投票
   发表时间:2004-11-26  
别听风就是雨, 多点自己的思考。

牛顿理论还被相对论推翻了呢!

但 牛顿理论在大部分范围内 在 低速 中等质量下 还是很适应的。
0 请登录后投票
   发表时间:2004-11-26  
也许flyingbugs面向的应用领域比较强调性能,我也接触过一些用Java来做,但是非常强调性能的应用,例如SMS Platform的Queue实现,例如SMS上层应用等等,在这些领域,软件设计的优雅、结构清晰要让位于纯粹的执行性能和负载。
0 请登录后投票
   发表时间:2004-11-26  
还有 千万别听什么国外专家说 性能是次要的。

中国有个特点,就是什么都是大量的!!就是投资不是大量。
这样,在一些大的特别是公共的项目中 性能是突出的重要, 想想 高峰期的并发量吧...按照某些国外专家的理论,你得买 地球模拟器 了!
0 请登录后投票
   发表时间:2004-11-26  
robbin:

其实往往性能就卡在几个点上
所以说 调优性能 往往也并不与你好得系统设计相矛盾。
0 请登录后投票
   发表时间:2004-11-26  
结构清晰 合理 其实也是具有良好性能的前提。
但是 不能过分的强调 所谓的 纯 oo,
纯的东东 在学术上好用 在实际中 就不那么容易了。

该用坦克的时候用坦克, 该用瑞士军刀的地方还是要用瑞士军刀嘛。
0 请登录后投票
   发表时间:2004-11-26  
flyingbugs 写道
大话不大话我不知道,性能提高 可是真的。


我当然知道性能提高是真的,不说别的,就优化“循环new对象”这么一个问题都能得到极其显著的性能提高。问题是,这一点似乎不值得拿到javaeye来说事。
0 请登录后投票
   发表时间:2004-11-26  
flyingbugs 写道
还有 千万别听什么国外专家说 性能是次要的。

中国有个特点,就是什么都是大量的!!就是投资不是大量。
这样,在一些大的特别是公共的项目中 性能是突出的重要, 想想 高峰期的并发量吧...按照某些国外专家的理论,你得买 地球模拟器 了!


flyingbugs,我想这些话适合在“海阔天空”版发言,而不是技术版。你的发贴我最近一直关注,并且我删了你一些贴,主要是Windows vs Linux, Java vs dotnet的帖子,对于确实有水准的会员,我们确实不希望因为意见的不和而反目,其实我觉得,你的很多发贴得到不好的待遇,原因还是在于你的帖子中,踏踏实实谈技术的比例不够高,提出自己的见解之后,不是用代码或者公认的证据来证明你的观点,而是用自己做过多大的项目背景来证明你够资格说话;不是用严密的逻辑和踏实的实证来反驳别人的观点,用傲慢的态度来否定别人的观点。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics