タグ

PythonとCに関するagwのブックマーク (9)

  • a < b < c

    agw
    agw 2012/04/11
    a < b < cをC言語より先に知る時代なのか。
  • PyPyがCより速いケース - karasuyamatenguの日記

    パイパイ(この名前ちょっとヤバいね)は場合によってはCより速いコードを生成することがあるという例。決してPyPyが一般的にCより速いと主張しているわけでないない。 http://morepypy.blogspot.com/2011/02/pypy-faster-than-c-on-carefully-crafted.html どうしてこういうことになるかというと、Cはモジュール(.o)の壁を越えて関数をインラインすることができないからだ。JITはそんなものおかまいなしにインラインすることができる。動的最適化の利点だ。 Python x.py def add(a, b): return a + by.py: from x import add def main(): i = 0 a = 0.0 while i < 1000000000: a += 1.0 add(a, a) i += 1 m

    PyPyがCより速いケース - karasuyamatenguの日記
  • Pythonを高速化しよう! - gumi Engineer’s Blog

    はじめまして、gumiの津村です。 現在は解析系の仕事をしたり、ツールを作ったりしています。 今回の話は高速化についてです。 結構長めの文章です。 目次 実行速度の高速化 Python/C API ctypes Pyrex Cython SWIG その他 纏め 実行速度の高速化 高速化といっても色々ありますが、今回は実行速度の高速化についてです。 弊社ではPythonを全面的に採用していますが、そもそもLLは実行速度が遅い言語です。特にC言語のようなコンパイラ系の言語と比べると非常に遅いです。 それでもLL系の言語がここまで使われるようになったのは、開発効率が良いからです。 もはや常識ですね。 しかし、それでも特定の領域ではどうしてもPythonのようなLL系言語では厳しい部分も出てきます。 アルゴリズムを変更しても、ハードウエアを変えても、無理な物は無理です。 速度に問題がある場合の最適

    Pythonを高速化しよう! - gumi Engineer’s Blog
  • はてなブログ | 無料ブログを作成しよう

    突然の出会い: プラウベルマキナについて 日がバブル経済に突き進み始めた頃に3,500台ほど作られ、数年後にひっそり生産が閉じられた超短命製品プラウベルマキナW67とご縁があった。 その生産数の少なさからまともな個体と出会うことがなかったのだけど、使わないデジタル機材一式を売りに行った帰りにガラス…

    はてなブログ | 無料ブログを作成しよう
  • C++がPythonより重い… @ 7bit

    GUI grepツールの調査過程は一応一段落し、当初のもくろみ通り製作に入ろうとしています。 今は特に苦もなく使えそうなPython, C++, C#のどれを用いるか検討中。 大量のファイルへのアクセスと正規表現のマッチは割と重い処理になりそうなので、実際にコードを書いて比較しています。 まず生grep。find | xargs grep '...'。直接Cで書かれていることを考えると、最速の基準として考えて良さそうです。日英対訳文対応付けデータ [1]をデータセットとして実験していますが、1.1秒くらいで2000ファイル近くのスキャンが終わる。 次に、書きやすそうなところでPython (re)でやってみました。所詮LLだし、結果には全然期待していません。 ところがところが、何故かこれが滅茶苦茶速い。 特に最適化したコードの書き方でもないんですが、1.6秒くらいで終わる。殆どC同等の速さ

  • http://d.hatena.ne.jp/elecsta/20061024

  • 2007年に人気伸びたのはPython、Ruby/Perlは微減 - builder by ZDNet Japan

    さあ、その想いをカタチにしよう。 Google Cloud が企業の未来に向けた生産性 向上とコラボレーション実現のヒントを解説 単純なインフラ製品の販売ではない DX、コンテナプラットフォームの実証など 自社の取り組みで得られた知見を顧客に提案 ビジネスのためのデータ基盤構築 DX時代の企業成長はデータ活用が鍵 新たな展開を後押しするSQL Server活用 ITインフラ運用からの解放 HCI+JP1による統合運用による負荷激減で 次世代IT部門への役割変革へ一歩前進 EDRトップランナー対談:後編 セキュリティ戦略を転換せざる得ない背景と EDRのような手法が必要な理由に迫る オープンソース活用はあたりまえ! そんな今だからこそ改めて考える 企業ITにおけるOSS活用のメリットとリスク 結果に差がつくウェビナーへの投資 デジタル営業時代における見込み顧客獲得へ ウェビナーの運用・集客・

  • There's more than one way to set parameters : 404 Blog Not Found

    2007年05月31日15:15 カテゴリLightweight Languages There's more than one way to set parameters ちょっとびっくり。 Life is beautiful: 「パラメーターのプロパティ渡し」でプログラムを読みやすくする、というアイデアはどうだろう そこで、ActionScriptにもJavaScriptのように自由にプロパティを追加できるObjectというクラスがあることを利用して、これらのパラメーターを一つのオブジェクトのプロパティとして渡すように変更してみた。 というのも、この名前付きパラメターというのは、Hashが組み込みで使えるスクリプト言語の場合は常識化しているので。これを他ならぬ中島さんが言うと、なんだか加藤鷹に「ねえ君、知ってる?Doggy Styleって体位があるんだけど、これっていいよ」って言われた

    There's more than one way to set parameters : 404 Blog Not Found
  • ln, log, log10 - まじかんと雑記

    一般に、プログラミングにおいて、対数は三種類ある。自然対数と、常用対数と、一般の底の対数だ。問題は、それらの表し方について統一的な決まりがないことだ。 一般的な関数電卓では、ln が自然対数を表し、log が常用対数を表す。そして任意の底についての対数を直接に計算する機能はないことが多い。一方、プログラミングにおける各種ライブラリなどにおいては、log が自然対数を表し、log10 が常用対数を表すことが多いような気がする。 というように、表記法が大まかに二つあるので、#Script においてはどうすべきか悩んでいる。 任意の底の対数については、log という名前の関数に二つの引数を渡すという点においてはバライエティがなくても、底と真数のどちらを先にするかという順番の問題がある。 とりあえず、いくつかのプログラミング言語(のライブラリ)について、対数をどのように指定するか調べた結果が次の表

    ln, log, log10 - まじかんと雑記
  • 1