zoukankan      html  css  js  c++  java
  • 六、面向对象的迷思

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

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

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

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

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

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

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

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

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

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

            假设,一个业务流程:

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

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

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

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

  • 相关阅读:
    面向对象的继承关系体现在数据结构上时,如何表示
    codeforces 584C Marina and Vasya
    codeforces 602A Two Bases
    LA 4329 PingPong
    codeforces 584B Kolya and Tanya
    codeforces 584A Olesya and Rodion
    codeforces 583B Robot's Task
    codeforces 583A Asphalting Roads
    codeforces 581C Developing Skills
    codeforces 581A Vasya the Hipster
  • 原文地址:https://www.cnblogs.com/mysic/p/8448815.html
Copyright © 2011-2022 走看看