Swing和SWT性能测试比较(2007-03-02 20:05:51)
随着Java
6对于Swing性能的改进,Swing的速度已经开始超过SWT的性能了。去年九月份,当Java
6 的Beta刚出来时,MiG Layout Site网站的Mikael
Grev编写了一个性能测试程序(benchmark)来测试和比较Swing和SWT的性能,并将最终结果发布在JavaLobby上。最终结果证明在除了在Windows上Swing和SWT的速度几乎一样快之外,在其他操作系统上Swing的速度都要快于SWT。
这怎么可能?难道SWT不是直接调用本地组件吗?Swing难道不是模拟的吗?为什么使用本地组件的SWT的速度反而比不上模拟的Swing?人们不禁会这样问。然而事实就是事实,人们在看到这样结果后,是时间反思这些为什么了。这也使我想起前不久当O'Reily编辑将2006年IDE获胜者颁发给NetBeans时,Eclipse的支持者的疑问。
这篇文章的地址是在:
下面是作者在Windows平台上测试的结果:
Swing
Java
Version:
1.6.0-rc
Look &
Feel:
The Microsoft Windows Look and Feel
Time to
Show:
391 millis.
Benchmark Run Time: 15640 millis.
Average Run Time: 782 millis
(20 runs).
Swt
Java
Version:
1.6.0-rc
Time to
Show:
203 millis.
Benchmark Run Time: 17782 millis.
Average Run Time: 889 millis
(20 runs).
Swing on Java L&F (Steel)
Java
Version:
1.6.0-rc
Look &
Feel:
The Java(tm) Look and Feel
Time to
Show:
360 millis.
Benchmark Run Time: 12219 millis.
Average Run Time: 610 millis
(20 runs).
Swing on Java L&F (Ocean)
Java
Version:
1.6.0-rc
Look &
Feel:
The Java(tm) Look and Feel
Time to
Show:
360 millis.
Benchmark Run Time: 16250 millis.
Average Run Time: 812 millis
(20 runs).