我有一個問題,我認為這可能是一個愚蠢的問題。所以如果我們有一個算法,假設它是遞歸算法,但是我們用不同的編程語言實現它,實現之間有性能差異嗎?例如來自這些示例代碼。void printFunInCpp(int test) { if (test < 1) return; else { cout << test << " "; printFun(test-1); // statement 2 cout << test << " "; return; } }static void printFunInJava(int test) { if (test < 1) return; else { System.out.printf("%d ",test); printFun(test-1); // statement 2 System.out.printf("%d ",test); return; } }def printFunInPython(test): if (test < 1): return else: print( test,end = " ") printFun(test-1) # statement 2 print( test,end = " ") return那么,從上面的例子來看,這 3 種編程語言是否存在性能差異?如果有性能差異,有什么技術可以知道嗎?內存使用情況如何?謝謝
2 回答

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
是的,存在性能差異,這取決于許多不同的因素。C 代碼可能是最快的,因為它直接編譯為計算機架構的機器代碼,沒有比這更快的了。
Java 代碼將被編譯成其自己的虛擬機的機器代碼。這肯定會比本地機器代碼慢,盡管它在過去幾年中已經有了很大的改進。在這個例子中真正會拖累 Java 的是開銷(啟動 JVM 等等,對于像“Hello World!”這樣簡單的東西,它可能需要大約 35 MB)。對于長時間運行的程序來說,僅此一項不會成為一個重要因素,但對于在幾毫秒內終止的短程序來說,它會。
Python 是一種解釋型語言。Python 程序必須隨時轉換為機器指令。當然,這會影響其性能,以換取其他優勢。
簡而言之,不同的語言使用具有不同權衡的截然不同的概念。性能是可以換取其他優勢的因素之一。為正確的工作使用正確的工具很重要,對于某些工作,您需要高性能,而對于其他工作,便利性、容錯性、兼容性或其他可能更受歡迎。

慕桂英546537
TA貢獻1848條經驗 獲得超10個贊
已經有關于這個的討論:
只是介于 C 和 Python 之間。
一般來說,很難說。在 python 中,很多模塊都是用 C 編寫的,以提高執行性能。python 設計的好處更多地在于編寫和讀取代碼的容易性,而不是執行時間。
希望它有點幫助。
添加回答
舉報
0/150
提交
取消