8 ポイント 投稿者 xguru 2021-03-31 | 1件のコメント | WhatsAppで共有
  • 効率的なコードを書くには、どの言語がより簡単か

  • 100万個の整数データセットから目的の値を見つける線形探索によるメンバーシップテストを3つの言語で実装し、C実装と比較

全体比較

  • Juliaの性能はCに近い。ただし、Rに似たベクトル化コードを書く場合は3倍遅くなる

  • PythonにJIT(Numba)を追加すると、ループベース実装の性能はJuliaとほぼ同等

  • PythonではネイティブリストとNumPy配列のどちらを選ぶか、いつNumbaを使うかを適切に判断する必要がある

  • Rが最速ではないが、Pythonに比べて一貫した結果を示す。(最速の実装と比べてRは24倍遅いが、Pythonは343倍遅い。Juliaはおよそ3倍程度まで)

  • Native R は常に Native Python より速い

  • PythonまたはRでループ処理を避けられないなら、インデックスベースのループより要素ベースのループのほうが効率的

1件のコメント

 
dalinaum 2021-04-02

NumbaはNumpyや配列、ループなどでしか効果を発揮できず、デコレーションを書かなければならないためコードが煩雑になるのは致命的な欠点だと思います。

Pandasを少し混ぜただけでも、すぐに性能面の問題があります。