亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果以不同的編程語言實現,則了解算法的性能差異

如果以不同的編程語言實現,則了解算法的性能差異

慕沐林林 2021-11-24 18:28:51
我有一個問題,我認為這可能是一個愚蠢的問題。所以如果我們有一個算法,假設它是遞歸算法,但是我們用不同的編程語言實現它,實現之間有性能差異嗎?例如來自這些示例代碼。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 程序必須隨時轉換為機器指令。當然,這會影響其性能,以換取其他優勢。

簡而言之,不同的語言使用具有不同權衡的截然不同的概念。性能是可以換取其他優勢的因素之一。為正確的工作使用正確的工具很重要,對于某些工作,您需要高性能,而對于其他工作,便利性、容錯性、兼容性或其他可能更受歡迎。


查看完整回答
反對 回復 2021-11-24
?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

已經有關于這個的討論:

Python 和 C 之間的性能差異

只是介于 C 和 Python 之間。

一般來說,很難說。在 python 中,很多模塊都是用 C 編寫的,以提高執行性能。python 設計的好處更多地在于編寫和讀取代碼的容易性,而不是執行時間。

希望它有點幫助。


查看完整回答
反對 回復 2021-11-24
  • 2 回答
  • 0 關注
  • 216 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號