|
发表于 2008-2-26 09:26:49
|
显示全部楼层
Post by Reiase;1819953
gtk慢不是因为不够优化,我觉得用数据结构来表示控件之间的关系总要比用类继承慢。类继承在编译的时候能够定位每一个控件在内存中的地址,而gtk好像要在运行的时候在数组啊,链表上找
此话怎讲?
Gtk+是使用C来实现面向对象。效率并不见得比C++低。因为C++语言的复杂性,C++编译器的实现通常都没有C编译器的效率高。
Gobject中只不过是把有些C++对面向对象的支持,从编译器中搬了出来。因为这有些信息是能在编译时确定的(比方类型检查),有些也是需要在运行是确定的(比方说多态)。对于运行时确定的信息,从编译中移出来,并不会对效率有什么影响。而对于能编译时确定的信息,Gobject可能需要在运行时才能确定,这可能会有一些性能影响,但是C编译器的优化应该能弥补这一损失。 |
|