"); //-->
3500/15 127610-01 使用的各种语言特性的显著影响
对于在托管代码环境,如。NET框架,许多问题会影响性能,而性能会受到编程语言范例和所使用的各种语言特性的显著影响。[12]
比较各种范例的伪代码示例[编辑]A伪代码假定没有子程序,用于计算圆的面积(πr)的命令式、程序式和面向对象方法的比较内嵌,不宏指令 预处理器寄存器运算,并将每个指令“步骤”仅作为一个指令进行加权–作为对指令路径长度–如下所示。在每种情况下,概念上执行状态更改的指令步骤都以粗体突出显示。在所有三种范例中,用于计算圆面积的算术运算是相同的,不同之处在于,过程化和面向对象的范例将这些运算包装在一个子例程调用中,使计算变得通用和可重用。在使用宏预处理器的纯命令式程序中也可以达到同样的效果,但代价是增加了程序的大小(仅在每个宏调用位置),而没有相应的成比例运行时间成本(与n调用——可能位于内循环例如)。相反,编译器的子例程内联可以将程序缩减到与纯命令式代码相似的大小。然而,对于面向对象的程序来说,即使有了内联,消息仍然必须(从参数的副本中)构建,以便由面向对象的方法处理。调用的开销,不管是虚拟的还是其他的,都不是由控制流改变——而是被周围的环境改变调用惯例成本,比如序言和结语代码、堆栈设置和争吵通过[13](看这里[14]有关更真实的指令路径长度、堆栈和其他与x86平台)。另请参见此处[15]用于幻灯片演示埃里克·罗伯茨(“变量的内存分配”,第7章)[16]–说明在对三个进行求和时堆栈和堆内存的使用有理数在……里Java 语言(一种计算机语言,尤用于创建网站)面向对象
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。