您的位置:首页 > 运维架构 > 网站架构

架构基于纯Class体系的Common Type System 系统的困惑

2007-01-22 12:26 393 查看
利用 CLR 提出的 Static Members 的概念,可以将普通类型全部类化,包括模块这一概念,通过Static Method
的这样的概念(没有Self指针,只能操作Static
Fileds,等价于原来的函数过程),这样不会影响过程的速度性能。从速度性能上来说,的确该让我满意了!但是对于内存开销来说,采用类这一形式来表现类型后,内存开销增大了,即使表现最简单的整数类型,也不得不用类来表示。还是仔细列举出优劣对比:

优势:

利于系统自举

利于操作符重载

利于扩充:用户自定义新类型

劣势:

类型的Meta信息占用内存略多于非Class架构的类型系统(至少多占用16个字节/简单类型)

简单类型的内存分配至少增加4个字节(指向VMT表,如果不用虚方法或密封类倒是可以省略)

访问类型成员的效率略有下降

迟滞了编译速度,如:对于简单变量的声明,分配多少空间也必须要到类中计算。

一言以蔽之,就是牺牲效率换取CTS的优秀的可扩展性能和自举性能的。不是我所想象的对性能没有影响(只从模块的函数上看过于片面了)。唉,牺牲速度和内存换取的可拓展性到底值不值得。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: