1. 程式人生 > >葵花寶典讀書筆記-面向對象的迷思

葵花寶典讀書筆記-面向對象的迷思

部分 程序 業務 5.0 網絡 div 思想 方便 處理機制

從語言層面的處理機制上講,面向對象的方式肯定比面向過程的方式效率要低一些。所以,對性能要求高的,例如操作系統、驅動程序、網絡設備程序都是由C語言編寫的。(C語言雖然提供的編程模式是面向過程的,但是同樣可以以面向對象的思想來寫程序,只是它沒有太多機制支持面向對象方式編寫程序,不是很方便而已。)

很多人認為面向對象的效率會導致性能很差,經常用C語言和JAVA語言做比較來說明觀點。

程序系統的運行效率更大的取決於設備的IO速度。

CPU:每秒10億次,性能是納秒級

內存:每秒1000萬次,每次請求時間是微妙級

磁盤:每次5ms,請求時間是毫秒級

網絡(TCP):每次網絡交互2ms,毫秒級

數據庫:基本等於網絡和磁盤之和,甚至更慢

可以看到,如果業務流程中涉及到了磁盤、網絡、數據庫,那麽性能將降低到毫秒級。

對於大部分語言,語言本身的運行速度是內存級別,也就是微妙級的。

假設,一個業務流程:

C語言處理的速度是:語言本身10微妙 + 磁盤操作5豪秒 = 5.01ms

JAVA處理速度:語言本身100微妙 + 磁盤操作5豪秒 = 5.1ms

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

因此,對復雜的業務系統,性能的高低是由系統的架構設計決定的,不是由語言本身決定的。

葵花寶典讀書筆記-面向對象的迷思