タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

Pythonと高速化に関するohnabeのブックマーク (3)

  • 道具としてのCython - tkm2261's blog

    皆様tkm2261です。今日は道具としてのCythonと題して、 使うことに特化してCythonの解説をしたいと思います。 きっかけはKaggle Cythonを使うとき FaronさんのF1最適化 DP (Dynamic Programming)を含んだ実装はCythonの出番 使い方 その1 『Cython実装』 ファイルは.pyx cimport 型宣言 オプション指定 普通のPythonも書ける 使い方 その2『コンパイル』 setup.pyの書き方 コンパイルの実行 使い方 その3『呼び出し』 速度検証 付録: 実装 utils.pyx きっかけはKaggle 最近まで参加していたInstacart Market Basket Analysis | Kaggleで どうしても高速化したい処理があり実装しました。 Numbaも良いのですが、速くなるときとならないときがあり、JIT

    道具としてのCython - tkm2261's blog
  • 100万倍速いプログラムを書く - Qiita

    この記事はなんなの プログラミングを始めたばかりで高速化の大枠が全くわからず意味不明なことをしていた在学時、こんな資料があったら良かったのになあ、と思って書いたもの。 書いて、在学時研究室に押し付けた後紛失したと思われていたものが発掘されたもの。 要約 ライブラリがあるならそれを使う。 ライブラリが無ければ、ボトルネック部分を探してそこだけ高速な言語で書きなおすか、可能なら事前コンパイルする。 最初から全てを Low-Level な言語で書くと大変、でも結果のプログラムは速い。 以下の時間の計測ではインポートにかかる時間は除いています。 使用するもの Python(3系) Numba Scipy Line Profiler Fortran(gfortran) QUADPACK QUADPACK以外の導入方法の説明は色んな所にあるので各自でお願いします。上3つに関しては、個人的にはAnaco

    100万倍速いプログラムを書く - Qiita
  • 高速化のためのPython Tips - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか?私は元気です。 Pythonにおける高速化手法を掲載してみます。 簡単なコード並びに索引のような感じで引けるようなイメージで作成しました。 日の目次です。 Pythonにおける高速化の必要性 Pythonの高速化 高速化の手順 Profiling的な条件 計測コード Pythonの基的な書き方部分 rangeよりxrangeを(Python2.7) リストの生成 文字列結合 Import文のコスト 関数呼び出しのコスト ドットを避ける yieldを使う Numpyに関するTips Numpyを使用して基演算を高速化する Numpyの要素にアクセスする演算をしない Numbaで手早く高速化 その他高速化ツール Cython Dask PyPy 感想並びに展望 参考文献 Pythonにおける高速化の必要性 PythonC++Javaと比較すると非

    高速化のためのPython Tips - のんびりしているエンジニアの日記
  • 1