• 六、面向对象的迷思


            从语言层面的处理机制上讲,面向对象的方式肯定比面向过程的方式效率要低一些。所以,对性能要求高的,例如操作系统、驱动程序、网络设备程序都是由C语言编写的。(C语言虽然提供的编程模式是面向过程的,但是同样可以以面向对象的思想来写程序,只是它没有太多机制支持面向对象方式编写程序,不是很方便而已。)

            很多人认为面向对象的效率会导致性能很差,经常用C语言和JAVA语言做比较来说明观点。

            程序系统的运行效率更大的取决于设备的IO速度。

                    CPU:每秒10亿次,性能是纳秒级

                    内存:每秒1000万次,每次请求时间是微妙级

                    磁盘:每次5ms,请求时间是毫秒级

                    网络(TCP):每次网络交互2ms,毫秒级

                    数据库:基本等于网络和磁盘之和,甚至更慢

            可以看到,如果业务流程中涉及到了磁盘、网络、数据库,那么性能将降低到毫秒级。

            对于大部分语言,语言本身的运行速度是内存级别,也就是微妙级的。

            假设,一个业务流程:

                    C语言处理的速度是:语言本身10微妙 + 磁盘操作5豪秒 = 5.01ms   

                    JAVA处理速度:语言本身100微妙 + 磁盘操作5豪秒 = 5.1ms   

            语言本身的性能差距在整个流程中的提升可以看作是微乎其微。

            因此,对复杂的业务系统,性能的高低是由系统的架构设计决定的,不是由语言本身决定的。

  • 相关阅读:
    全国(省,直辖市,自治区,特别行政区)映射集合
    数据库辅助类
    时间格式化工具类
    密码加密(MD5)
    算法竞赛入门经典——第3章答案
    第三章学习小结—-转
    isalpha函数和isdigit函数
    重新实现库函数
    树状数组总结——转
    线段树——转
  • 原文地址:https://www.cnblogs.com/mysic/p/8448815.html
Copyright © 2020-2023  润新知