タグ

Pythonとpythonに関するrawwellのブックマーク (440)

  • Parallel Pythonで分散処理

    Erlangでなくて、Pythonで分散処理を書く意義はなんだろうかと考えた。 Erlangはたしかに分散処理が得意なんだろうけど、いろいろ調べた感じでは、複雑な数値計算などの分散処理には向いていないというウワサだ。良く知られているTwitterや通信の例のようなシンプルな処理を膨大な量さばくにはいいようだけど。 計算を分散で行う場合、来はGoogleが採用しているように、C++をベースにすべきだろう。 (ただし、GoogleではSawzallという独自言語で記述し、それをC++に変換して実行するそうな。) そうなると、「なぜPythonで分散処理?」というのが重要になる訳だが、おそらく以下のようなことだろうか。 既存の豊富なモジュール(しかも多くはCで書かれている)を使える。C、C++で書かれたルーチンをswig等でPythonに連結し、それを分散させれば、実質C、C++で実行している

  • Python Performance Tips (Python パフオーマンスTIPS)

    Python Performance Tips このページはPythonプログラムの実行効率を改善するさまざまなTipsやトリックの紹介に特化しています。誰から得た情報であっても、その情報源を紹介するつもりです。 "fast python"ページをはじめて書いた1996年以降も、Pythonは著しく変化してきました。このことは、幾つかの規則も変化しているということを意味しています。そこで、他の誰かがこのページのメンテナンスを手伝ってくれるという期待をもって、ページをPython wikiに移動させました。 注意:これらのTipsはいつでも、読者のアプリケーションや、実際に使用するバージョンのPythonで盲目的に受け入れるだけでなく、実際に試してみることができます。 これらの新しく独自に書かれたパッケージ、例えば Pyrex 、 Psyco 、 Weave や PyInline のようなも

  • 連想検索エンジン reflexa API を Python から使ってみる2 - 銀月の符号

    先日の連想検索エンジン reflexa APIPython から使ってみる モジュールを手直し。 使い方 reflexa_search に検索したい文字列を渡します。連想された語を Unicode 文字列で返してくるジェネレータが得られます。 for 文で回したり list で変換したりしてあげてください。 >>> from reflexa import reflexa_search >>> for s in reflexa_search(u'Python'): ... print s Monty Python ニシキヘビ (中略) factorial WideStudio PythonLabsスクリプトとしても使用可能です。手抜き実装ですが・・・(汗 C:\>python -m reflexa "初音ミク" VOCALOID クリプトン・フューチャー・メディア (後略) refle

    連想検索エンジン reflexa API を Python から使ってみる2 - 銀月の符号
  • 連想検索エンジン reflexa の API を Python から使ってみる - 銀月の符号

    先日、 http://labs.preferred.jp/reflexa/ を知りまして。なかなかに面白い連想結果が得られるので楽しんでいるところです。 API が公開されていたのでさっそく Python から叩けるようにしてみました。 json を解析するため demjson モジュールに依存しています。 xml の解析には BeautifulSoup モジュールを使用していますが、こちらは無くても parse_xml 関数のみが使えないだけで他は動作します。ちなみにどちらも easy_install でインストール可能でかつ Pure Python モジュールです。作成はWindows XP 上で行いましたが、 OS 問わず動くのではないかと思います。 ソースコード コードは今のところこうなっています。ver 0.1 は検索結果の JSON の解析に PyYAML をつかっていました。

    連想検索エンジン reflexa の API を Python から使ってみる - 銀月の符号
  • ディスクリプタパッシング自分用メモ - Doge log

    python2.6 親はメインのacceptに専念。 子プロセス側でecho処理。 from multiprocessing import _multiprocessing import os import socket import time class FDDispatchServer(object): def __init__(self): self.is_child = None def fork(self): pid = os.fork() if pid > 0: self.is_child = 0 else: self.is_child = 1 def ready(self): if self.is_child: self._child_ready() else: self._parent_ready() def _parent_ready(self): time.sleep(

    ディスクリプタパッシング自分用メモ - Doge log
    rawwell
    rawwell 2008/10/08
    from multiprocessing import _multiprocessing
  • IPythonって最高!

    【3.2】   TABキーで補完してくれる! In [12] sys. <-ここでTABキーを押すと下記のような一覧がでます。 In [12] sys.arg <-ここでTABキーを押すと「sys.argv」に変化します。 (つまり候補がユニークであれば補完が完了します。) 【3.3】   通常のシェルコマンドも使える! このように、「!」マークのあとにコマンドプロンプトで 使っているコマンドがそのまま使えます。 もちろん、フォルダ名やファイル名に対してもTAB補完が効きます! このおかげで、コマンドプロンプトと pythonのインタラクティブモードとの行き来が不要になります。 【3.5】   デバッグが簡単! In [19]: %pdb on Automatic pdb calling has been turned ON としておくと、コード実行中に補足されない

    rawwell
    rawwell 2008/10/07
    "「!」マークのあとにコマンドプロンプトで 使っているコマンドがそのまま使えます。 もちろん、フォルダ名やファイル名に対してもTAB補完が効きます! このおかげで、コマンドプロンプトと pythonのインタラクティブモー
  • オープンソースカンファレンス2008 Tokyo/Fall 2日目 午前の部見てきた - サイト更新停滞ちうっ

    オープンソースカンファレンス2008 Tokyo/Fall 2日目 10月4日 同日14:00からGit勉強会があったので、午前中だけ見物に行く。 テスト厨になりたいあなたのための、DocTest 高橋邦彦氏 http://www.ospn.jp/osc2008-fall/modules/eguide/event.php?eid=29 テストに関する話 + PHPのテストフレームワークDocTestのデモ DocTestはソースコメントにテストの定義を書くと、そのテストを実行してくれる、というもの。 コメントに書くからAPIドキュメントに変換した時に、動作保証されたコードや、テスト結果がドキュメントに記載される。 Test Driven Developmentは、テスト手法ではなく、設計手法の一つ。 プログラマだって自分の担当部分では設計をしている。 あと大きな話題として、テストの考え方に

    オープンソースカンファレンス2008 Tokyo/Fall 2日目 午前の部見てきた - サイト更新停滞ちうっ
  • Charming Python: Functional programming in Python, Part 3

    rawwell
    rawwell 2008/10/04
    "In a related "Charming Python" installment, David introduces a way of simulating full-fledged coroutines with generators and a simple scheduler. It is possible to extend this scheduler in straightforward ways to allow extremely lightweight threading of multiple processes. Much as with Stackless Pyt
  • PythonAvailableServersの編集 - Pythonのお勉強

    メニュー トップ Pythonの紹介 FAQ 質問の仕方 参考図書 参考サイト 翻訳文献 日語 問題集 よくある誤解 Python可能サーバ Pythonの更新情報 処理系 開発環境 2chテンプレ 過去ログ 練習用ページ 雑談 公式サイト 家オフィシャル 日ユーザー会 検索 キーワード AND OR ページ内容も含める 編集用 FrontPage InterWikiName Keyword Menu PluginHelp 更新履歴 2022/11/16 鐃緒申鐃所集 2022/10/11 japaneseCharset 2022/9/24 Implementations 2021/8/26 雑談 2020/12/11 %CC%E4%C2%EA%BD%B8

    rawwell
    rawwell 2008/10/04
    "Pythonが使えるサーバ一覧"
  • [Python-ml-jp 4521] Guidoのインタビュー on Linux Journal

    KAMOSAWA Masao jcd00743 @ nifty.com 2008年 10月 1日 (水) 17:18:11 JST 前の記事 [Python-ml-jp 4524] Re: [Fwd: Inquiry] 次の記事 [Python-ml-jp 4523] Re: Guidoのインタビュー on Linux Journal 記事の並び順: [ 日付 ] [ スレッド ] [ 件名 ] [ 著者 ] 昨日届いてたLinux JournalにGuido von Roosumのイン タビューが載ってました。 つーか表紙がGuidoです。 http://www.linuxjournal.com/issue/174 インタビューの内容は、主としてPython3について。みなさま よくご存知のことから、あまり知られてないと思われる具体的な tipsまでよくまとまっていたので、軽く概要をば。

  • python2.6リリースメモ(挫折) - Doge log

    PEP以外の細かいメモ。 schedモジュール scheduleを行うモジュール。 スケジューリングする基準になる時間取得関数などを設定可能。 スケジューリングする際に、時間、優先度、関数、引数を渡す。 内部キューにためる。 runでスケジューラー起動。 キューにデータがある間、ループする。ブロックするので注意 内部実装はheapqでpopする方式。 (twistedと同じ) TIPCサポート socketモジュールにTIPCサポートが追加 Linuxのみ。 TIPCでクラスタ間をやりとりする例が乏しいので便利具合がうまく伝わらない。 重宝する人には重宝するのかも。 bytecodeの出力の有無の設定 dont_write_bytecodeを使うと.pyc.pyoファイルを吐かなくできる。 起動オプションに-Bをつけるとdont_write_bytecodeモード。 thread idの付

    python2.6リリースメモ(挫折) - Doge log
  • 2008-02-09

    pythonc++のインターフェイスを作る方法には boost.pythonを使う方法 swigを使う方法 python.ctypesを使う方法 f2py (Fortranを使うためのInterface)を使う方法 pyreを使う方法 直接Cのインターフェイスを作る方法 があるようだ。 http://www.scipy.org/Cookbook のUsing NumPy With Other Languages のセクションにさらに詳しい解説がある。 ここでは特に配列(numpyの行列)をc++と連携して使う方法に注目していくつかの方法を比較する。numpyは数値計算や行列演算を行うpythonのパッケージでnumarrayの後継にあたる。numpyはnumarayと違って行列が配列の先頭ポインター(double *array)を渡すだけでc++とやりとりができる。そのためc++との連携

    2008-02-09
    rawwell
    rawwell 2008/10/02
    『pythonとc++のインターフェイスの比較』
  • multiprocessing入門 - Doge log

    multiprocessingといっても今まであったos.forkをうまくラップしてくれてる というだけなのでプロセスをforkしたらどうなるの?っていうのを知らないと 扱えないと思われる。 forkすると子プロセスには今までの状態がコピーされるがその後はメモリ空間が 別々になる。 (当たり前の話) だが開いているfdとかファイルエントリテーブルなどは共有される。 どのタイミングでforkするかが個人的には重要。 例ではPIPEはいっさい使ってない。 from multiprocessing import current_process, cpu_count, Process, Manager, Queue import time class Parent(object): def __init__(self, name): self.name = name self.queue = Qu

    multiprocessing入門 - Doge log
    rawwell
    rawwell 2008/10/01
    "multiprocessingといっても今まであったos.forkをうまくラップしてくれてる というだけなのでプロセスをforkしたらどうなるの?っていうのを知らないと 扱えないと思われる。 forkすると子プロセスには今までの状態がコピーさ
  • はてなブログ | 無料ブログを作成しよう

    後の読書タイムに読んだ 2025年7月 夕後の読書タイムはもともと積読を解消する目的で始め、そのうちにパートナーえむさんのも読むようになり、読んだものから芋づる式に「あれも読みたい、これも読みたい」というのが出てきて、関連書をつなげて読むいい機会になっている。 「つまんない」と思ったら…

    はてなブログ | 無料ブログを作成しよう
  • はてなブログ | 無料ブログを作成しよう

    初めて気がつく瞬間 子どもと一緒に過ごすようになってから、初めてべるものの反応を楽しみにしてきた。初めてのコーラとか、初めてのグミ、初めてのガリガリくんとか。明らかにおいしいものじゃなくてもいい。初めてのウニとか初めてのゴーヤとか。目を見開いて驚いたり、文字で表現し…

    はてなブログ | 無料ブログを作成しよう
  • HadoopのMapRecudeをPython(Jython)で書くためのフレームワーク「Happy

    Code Archive Skip to content Google About Google Privacy Terms

  • [Python-3000] the future of the GIL

    Guido van Rossum guido at python.org Tue May 8 17:37:44 CEST 2007 Previous message: [Python-3000] the future of the GIL Next message: [Python-3000] the future of the GIL Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] On 5/8/07, Luis P Caamano <lcaamano at gmail.com> wrote: > On 5/7/07, "Guido van Rossum" wrote: > > Around '99 Greg Stein and Mark Hammond tried to get rid of the GIL.

  • 2.6に新搭載のmultiprocessingを見て俺のPythonがおっきした件 | TRIVIAL TECHNOLOGIES 4

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー いやー,multiprocessingモジュールイイよ。パねえよ。要はプロセス間通信を行うときに便利なパッケージで,threadingと似たようなAPIなのでGILが回避できてマルチプロセッサとかマルチコアの性能を有効に使えてウハウハとか,リモートマシンにあるプロセスと通信したりオブジェクトをやりとりしたりできてウハウハとか,まあそういうモノです。これでおっきしない奴は技術者として大切な資質を失っていると思うよ。べつにおっきしなくてもいいんだけど,そういう奴とは一緒に仕事したくないよ。 ドキュメントのイントロダクションを超訳してみたです。 はじめに multiprocessingはth

  • Python 2.6 リリースノート - Twisted Mind

    Python 2.6 の What's New が面白かったので自分用にメモ。 ========== Python 2.6 ========== 気になった変更点とか、 適当に書いてるので嘘書いてるかもしれません。 * ドキュメントが reStructuredText + Sphinx になった * functools.reduce() が出来た、これは今までの reduce() と一緒 * with が __future__ しなくても良くなった(正式採用) まだあまり使ったこと無いのですが下記の使い方が多そう :: with open('/spam/egg', 'r') as f: for line in f: print line * __package__ 属性が追加された模様。 * site-packages の場所が大きく変わる模様。 Mac は ~/.local/ になるみた

    Python 2.6 リリースノート - Twisted Mind
  • Python IAQ: Infrequently Answered Questions

    Q: What is an Infrequently Answered Question? A question is infrequently answered either because few people know the answer or because it concerns an obscure, subtle point (but a point that may be crucial to you). I thought I had invented the term for my Java IAQ, but it also shows up at the very informative About.com Urban Legends site. There are lots of Python FAQs around, but this is the only P