面向業務和面向硬體程式設計

2021-10-01 10:03:54 字數 777 閱讀 2974

計算機程式設計思想越來越有意思,充滿了哲學的味道,今天總結下分層的設計優化思想:最上層面向業務、和最底層面向硬體。

面向業務程式設計

面向業務程式設計,就好比樣本決定演算法(資料工程師),而不是拿模型套問題(機器學習工程師)。比如:

如果是做cache,意味著輸入的復用高,那麼不僅可以做內容快取,還可以進行計算快取

調優最有效的往往是減少輸入,或者根據輸入的特性特殊處理

squid 針對磁碟利用率有自己的邏輯統計,用以決定是否刪除快取。分段快取功能檔案可以是不完整的內容,在磁碟上檢視可能只有50m,而squid邏輯統計根據cl頭100m,邏輯大小和物理大小不一致。如果根據邏輯統計利用率,則會額外刪除更多的其他快取,導致刪除過程中是否負載偏高。那麼我們是否需要將分段快取的邏輯統計改為真是占用物理大小呢?這樣就不會刪除額外更多的快取了。

為什麼當初沒有改為真實物理占用大小統計呢?

如果改為真實物理大小統計,那麼以後會出現(曾經老東家遇到過)分段快取無法填充完整。當前是已經預支了完整的大小 所以不會有問題。

需要更改squid 原生的一些介面,我們改動**盡可能避免。

解決方案如此 我們不用再糾結 「怎麼將邏輯統計判斷更改為真實物理大小的統計」

面向硬體程式設計

面向硬體是大部分有追求的程式設計師重點關注的事情,比如合併順序寫有利於磁碟,迴圈展開等等,後續再詳細描述這些技巧

在開源軟體中更改一定要注意設計思想的初衷,如果不遵循這個思想,大家後續**最終會南轅北轍,臃腫不堪。

面向過程程式設計和物件導向程式設計

面向過程程式設計和物件導向程式設計 面向過程程式設計是一種以 過程為中心 的程式設計思想 分析出解決問題的步驟,然後用函式把這些步驟一步一步實現 面向過程程式設計,資料和對資料的操作是分離的。物件導向程式設計 物件導向程式設計是 將事物物件化,通過物件通訊來解決問題 物件導向程式設計,資料和對資料的...

面向過程程式設計和物件導向程式設計

面向過程程式設計和物件導向程式設計 一 面向過程程式設計 面向過程程式設計將程式分成了 資料 和 處理函式 兩部分,程式以 處理函式 為核心,如果要執行什麼操作,就將 資料 傳給相應的 處理函式 返回我們需要的結果 面向過程的思路很好掌握,上手容易,但它存在三方面的問題 1 資料和處理函式沒有直接的...

《面向過程和物件導向的程式設計》

關於寫 面向過程和物件導向的程式設計 這個話題我很矛盾,我擔心許多程式設計師對此話題不太感興趣,可能他們不太懂得面向過程和物件導向程式設計的巨大差距,以及對程式設計水平的影響。在我整個程式設計生涯中,有無數的轉變和變化讓我銘記在心。從彙編到 c語言,從檔案系統到資料庫,從 c語言倒 dbase,從c...