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

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

IronPython vs Python vs C# for 循環的性能

IronPython vs Python vs C# for 循環的性能

牧羊人nacy 2023-09-05 15:37:15
我對 Python 和 IronPython 比較陌生。我對我編寫的相對簡單的代碼的性能(應該說緩慢)感到驚訝:matrix_column_count=1000matrix_row_count=2000matrix=[[random.uniform(0,100) for i in range(matrix_column_count)] for j in range(matrix_row_count)]在 IronPython 2.7.10 上運行它大約需要 1 秒(有一些小的變化)!在 Python 3.8.6 上運行需要 0.55 秒 在 C# 中運行類似的東西需要 0.03 秒!這些數字對于 Python 開發與 C# 開發來說是“正常”的還是我做錯了什么?
查看完整描述

1 回答

?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

是的,這些數字是正確的。由于我無法發表評論(沒有足夠的堆棧溢出點),所以我將從堆棧溢出復制粘貼另一個類似的答案

答案很簡單,Python 處理所有事情的對象,并且默認情況下它沒有 JIT。因此,Python 并沒有通過修改堆棧上的幾個字節并優化代碼的熱點部分(即迭代)來提高效率,而是隨著表示數字的豐富對象一起運行,并且沒有即時優化。

如果您在具有 JIT 的 Python 變體(例如 PyPy)中嘗試過此操作,我向您保證您會看到巨大的差異。

一般提示是避免使用標準 Python 進行計算成本非常高的操作(特別是如果這是用于服務來自多個客戶端的請求的后端)。Java、C#、JavaScript 等使用 JIT 的效率是無與倫比的。

查看完整回答
反對 回復 2023-09-05
  • 1 回答
  • 0 關注
  • 212 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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