"); //-->
GE IC670CHS001E 用于对象创建和消息传递
GE IC670CHS001E 用于对象创建和消息传递
独特的是,面向对象的范例包括动态存储分配从堆存储用于对象创建和消息传递。1994年的基准测试“大型C和C++程序中的内存分配成本”数字设备公司在各种软件上,使用指令级分析工具,测量每个动态存储分配需要多少条指令。结果显示,执行的指令的最低绝对数量平均约为50条,但其他指令高达611条。[18]另见穆拉利·克里希南的《堆:快乐与痛苦》[19]这说明“堆实现倾向于对所有平台保持通用,因此有很大的开销”。IBM的Arun Iyengar在1996年发表的论文“动态存储分配算法的可伸缩性”[20]演示各种动态存储算法及其各自的指令计数。甚至推荐的MFLF I算法(H.S. Stone,RC 9674)也显示指令计数在200到400之间。上述伪代码示例不包括对该内存分配路径长度或所涉及的内存前缀开销以及后续相关垃圾收集开销的实际估计。强烈暗示堆分配是一项重要的任务开源软件微分配器,由游戏开发者开发约翰·拉特克利夫,由近1000行代码组成。[21]
动态调度的消息调用与直接过程调用开销[编辑]在他们的摘要中"利用静态类层次分析优化面向对象程序",[22]的计算机科学与工程系的杰弗里·迪恩、戴维·格罗夫和克雷格·钱伯斯华盛顿大学,声称“大量使用继承和动态绑定消息很可能使代码更具可扩展性和可重用性,但是相对于以非面向对象方式编写的等价但不可扩展的程序,它也强加了显著的性能开销。在某些领域,比如结构化图形包,使用高度面向对象的风格所提供的额外灵活性的性能代价是可以接受的。然而,在其他领域,如基本数据结构库、数值计算包、渲染库和跟踪驱动的模拟框架,消息传递的成本可能太大,迫使程序员避免在应用程序的“热点”进行面向对象编程



专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
GE:百年巨舰的辉煌与低落
1553b航电总线
11.07.04.TELELOGIC.TAU.GENERATION2.V2.3-RORiSO
解析华为SFP-GE-LX-SM1310千兆单模光模块
佳能、GE、西门子、日立、飞利浦……盘点国外最新磁共振产品及配套组件
医疗器械的售后维修服务将成为医疗器械行业下一个风口
GE Fanuc S90-70 PLC参考手册
GE Fanuc S90-70PLC产品目录
压力标检定装置内部结构详图
全面解析华为eSFP-GE-SX-MM850千兆光模块
百年GE濒临破产,传奇霸业何以衰亡?
20年智与情同在 GE医疗工厂的先进制造成长记
GE Fanuc PLC编程手册
红外传感器在干手器中的应用
第二季度业绩受挫,GE将放弃数字化业务
在美国工业巨头GE Predix工业互联网凉凉之后
恩智浦和GE HealthCare将边缘人工智能带入急性护理
GE Fanuc 系列90-30_20 PLC参考手册
GE Fanuc S90-30PLC产品目录
GE出售Predix 工业互联网平台探索落地模式
GE:民营“电灯公司”成军工“巨无霸”