Linux

性能 |二進制與腳本

  • November 5, 2020

如果我想在 Linux 中實現一些功能(例如打開、複製、壓縮、刪除、等待事件),是在 C++ 中實現它並將二進製文件作為程序執行還是在 shell 腳本中實現它更好?

假設我忽略了實現的細節,我想現在,在二進製作為一個程序啟動期間,與啟動 shell 腳本相比,將消耗多少記憶體和 cpu 負載?

會影響速度嗎?是 否

如果您在腳本中實現壓縮算法,那麼它將比在 C++ 中完成的要慢得多。

如果您只是呼叫庫函式/命令來執行此操作,那麼差別不大。時間將由預先存在的庫函式/命令完成的壓縮支配。文件打開、文件複製、文件刪除和等待都是由核心完成的,在應用程序中完成的很少,所以也幾乎沒有什麼變化。

然而,唯一知道的方法是測量兩者。

一些優化規則

  • 讓它工作,然後(如有必要)使其快速/小。
  • 優化可讀性。
  • 優化速度,只有在你有證據證明它不夠快之後
  • 在優化速度時,測量兩種實現,不要假設一個更快(你可能會錯)。
  • 永遠不要針對最佳情況進行優化,針對更差或平均情況進行優化。

引用自:https://unix.stackexchange.com/questions/432040