タグ

高速化に関するkoma_gのブックマーク (4)

  • あなたのPythonを100倍高速にする技術 / Codon入門

    はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々なツールや処理系が開発されています。 この記事ではMITの研究者らが開発したPythonを高速化するツール「Codon」について紹介します。 この記事を3行でまとめると: 高性能で簡単に扱えるPythonコンパイラ「Codon」 Pythonとの互換性がありながら、CやC++に匹敵する高速化を実現 実際にPythonコードが100倍速くなることを検証 Codonとは Codonは高性能なPythonコンパイラです。実行時のオーバーヘッドなしにPythonコードをネイティブなマシンコードにコンパイルし、シングルスレッドで10-100倍以上の高速化が実現できます。Codonの開発はGithub上で行われており、2021

    あなたのPythonを100倍高速にする技術 / Codon入門
  • Pythonの知っておくと良い細かい処理速度の違い8個 - kumilog.net

    はじめに 標準入力 input と sys.stdin.readline ソート sort と sorted ソートの key ループ for と while リスト リストの初期化 二次元配列の場合 リストの値参照 リストへの値追加 それぞれの処理速度 まとめ はじめに 最近、PythonAtCoderなどの競技プログラミングに挑戦しています。これまであまりに気にしなかったけど、ちょっとした書き方で処理速度が変わってくることに気づいたので、これを気に少し調べてみました。 目次にあるように、標準入力、ソート、ループ、リストについて、計8個の処理の速度比較を行いました。処理速度の計測方法は、Mac Book Pro*1を使い、timeitでそれぞれ100回計測*2し、平均と標準偏差を求めています。 結果だけ知りたい方は、まとめへどうぞ。 計測に用いたコードは以下にあります。 github.

    Pythonの知っておくと良い細かい処理速度の違い8個 - kumilog.net
  • Pythonを高速化するCythonを使ってみた - Kesinの知見置き場

    突然ですが私はPythonが好きです。でもPythonは遅いです。 何が遅いかというと、致命的なことに四則演算が遅いです。でも他の動的型付け言語でスクリプト言語と呼ばれるPerl, Ruby, Javascript も C, Javaのようなコンパイルを行う静的型付け言語に比べれば圧倒的に遅いです(近年ではJavascriptのように著しく進歩した言語もあるので必ずしもそうだとは言えませんが)。 スクリプト言語が遅い原因の一つは、変数の型が指定されていないので型のチェックを毎回行う必要があるからです。この特性があるおかげ自動的に型を変換してオーバーフローを防いでくれるというメリットもあるのですが、どうしても静的型付け言語よりは速度を出すことができません。 ならPythonのコードに型指定を加えてコンパイルしちゃえばいいじゃん!というのがCythonです。正確にはPythonライクな文法で書

    Pythonを高速化するCythonを使ってみた - Kesinの知見置き場
  • 高速化のための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