rog*_*ack 20 java performance editor
好吧,我知道大多数人都说"这些日子java速度不慢,只是启动阶段很慢",但没有人能看到我的眼睛并且告诉我使用netbeans或eclipse或jedit就像说的那样响应,视觉工作室或文字,即使经过几个小时的"热身"时间.哦,启动时间肯定是一个问题(咳嗽日食)我会承认,但我在这里谈论一般的反应.例如,当您调整窗口大小时,Jedit会有一个明显的滞后.
我认为,合理的苹果与苹果的比较将是jedit(或任何基于Java的文本编辑器)与TextMate,SciTE.
它真正归结为的问题是"如果netbeans/eclipse完全用C语言重写,具有相同的功能集,你会期望它具有与目前相同的性能特征."
有任何想法吗?
还有一些观察:
这个简单的基于回转的编辑器[1]在调整窗口大小时有很奇怪的滞后,但滚动感觉非常敏感.此外,使用netbeans,当你开始调整大小时,直到你"停止"调整窗口的大小,它会画出一个丑陋的黑色背景[4].也许swing在窗口被拖动时拒绝刷新?
这是一个简单的swt简单文本编辑器[2].它对拖动和滚动都非常敏感.
这是另一个简单的(jface)swt编辑器[3].它调整得很糟糕我认为它一定是一个糟糕的侥幸.我希望.
我还注意到记事本和视觉工作室在刷新时往往会显示临时白色"blips"(例如:当通过非常长的文档使用页面时).swt和swing应用程序似乎没有那些额外的白色blip,所以我想知道他们是否有一些额外的内部缓冲或其他东西.这可能导致小幅放缓,明智
[5]是一个相关但不完全相同的问题.
我目前的猜测,基于现有的答案/评论:
谢谢!-roger-
[2] https://gist.github.com/972234
[3] http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/BasicEditor.htm编译/运行它像java -cp.; swt\win32.jar; jface/*BasicEditor
[5] Java真的很慢吗?
要做所有"动态"代码语法检查和突出显示,你基本上必须编写你的编辑器来理解(这意味着lex,解析,类型检查,语法验证等)java语言并验证文本的内容在你开始几乎空的课程和完成你的程序之间的每个中间状态编辑器.
另外,对于交叉引用完整性,您必须保留有关内存中所有其他类的足够信息,这样您才能确保在对象上调用方法时,它确实存在于该"其他"对象上.
这并不是说所有其他项目被索引的地方,等等.
简而言之,它很慢,因为它做了很多,即使它所做的所有事情都没有被一个只关心屏幕上的字母的人(而不是IDE的所有功能)立即感激.
| 归档时间: |
|
| 查看次数: |
2927 次 |
| 最近记录: |