タグ

pythonとprogrammingに関するmaghribのブックマーク (2)

  • 機械学習序曲(仮) > 数値計算の実行速度 - Python, C, Rの比較

    上記の結果より明らかなように,最適化したCに比べても Python の 実行速度のほうがまだ速いという結構驚きな結果が得られました. しかしながら,その Python よりもRのほうがまだ速いという ことも分かりました.特に逆行列の演算に関してはRの圧勝です. 以上の結果のまとめです: 実行速度の速さは R > Python > C の順 CよりPythonの方が15%程度速い しかしながら,特に逆行列の演算に関してはPythonよりRの方が40%程度速い おわりに 以上のベンチマークにより,少なくとも行列演算に関しては CよりもPythonの方が速いということが分かりました. 今回の実験は個人的なプログラム環境の乗り換えのための 判断材料として行なったのですが, 乗り換えに関しては Python の速度性が最大の懸念材料だったので, これで心おきなくCからPythonに乗り換えられます(

  • 再帰とジェネレータ

    back [English] 概要: ある種の問題は、再帰を使うと非常に効率的に記述できる。 しかし大量のデータを生成するような再帰的手続きは厳密に制御する必要があり、 そういったプログラミングは難しい。Python 2.2 以降から使用可能になった ジェネレータを使うと、簡潔なコードを維持しつつ、 こうした手続きをかんたんに制御することができる。 この文書で使われているソースコードは こちら。 プレインテキスト版は こちら。 はじめに 再帰は非常に強力なメカニズムです。 時にこれは混乱を招くこともありますが、ふつう再帰を使うと、問題を簡単に記述することができます。 ある手続きが扱うデータ量が指数的に増えるような場合、これはとくにあてはまります。 木構造の探索がいい例でしょう。木の各節点はひとつ以上の子を持っていますが、 下へ下へとたどっていくにつれて、節点の数は指数的に増えていきます。

  • 1