パスワードを忘れた? アカウント作成
6238 story

Python 2.3リリース 24

ストーリー by wakatono
高速に動く蛇リリース 部門より

k3c 曰く、 "「19ヶ月の開発期間を経て」Python 2.3がリリースされています。いろいろと細かなバグフィックスやメモリリークの修正、機能の改良などが行われている中で、目玉は旧バージョン(2.2.3)と比較して2~3割の高速化だそうです。蛇使いの皆さん、噛みつかれないようにね…。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 2.2にインストールしてあるモジュールの再インストールが面倒で
    今まで2.3を使っていませんでしたが、この記事を機会に移行しま
    した。
    特定のモジュールが速くなっているのか全体的な改善か、そして
    私がよく使う機能が本当に速くなっているのか簡単なベンチマー
    クでみてみました。
    (空白でレイアウトしたらフィルタに弾かれたので読みにくいで
    すが)

    項目2.22.3
    re.compile instanciate17.02012.393 (sec)
    file read & re.search 14.251 12.235
    string-float convert 18.395 8.722
    subclass instanciation10.932 8.674

    と、Perlとの差を縮めるほどではないにしろ、インタプリタエン
    ジン自体に手が入ってまんべんなくパフォーマンスがあがってい
    るようですね。2ー3割の速度アップは嘘ではなさそうです。
    他にもモジュールの読み込みが速くなったような気がしますが適
    当なベンチマークが思いつかなったので測定しませんでした。

    #しかし自分の適当なスクリプトがエラーを吐いて止まるように
    #なってしまったのには・・・
    #文法がstrictになったのでワーニングを出すモジュールもちら
    #ほら・・・
    --
    kaho
    • ・無駄(?)な処理をしなくなって全体的に1割速くなった
      ・pymallocが標準搭載されるようになってちょっと速くなった
      ・dictionaryのkeyを全部パースするのが5000倍速くなっている

      速度的にボトルネックになっているのはPythonの動的な部分(型チェックとか)だと思われるので,今後速度向上を望むためには
      • > Pythonの動的な部分(型チェックとか)だと思われる
        Pythonってほとんど「型」のチェックはしてません。演算してみるまで何にも文句を言わず、できない演算(文字列と複素数の排他的論理和とか)だったらTypeError例外を発生させるだけ。

        今回のリリースでは、辞書へのアクセスの高速化が全体的な高速化につながったんじゃないのかな?
        Pythonの名前空間はそのまんま辞書だからね。
        親コメント
  • by watanabe_aki (10227) on 2003年07月30日 16時11分 (#368753)
    Python必須な求人ってまだ見たことありませんけど、どういった分野の人が使ってるんでしょうか?Pythonが出た当時はTCLとかPerlを過去の技術にするような雰囲気があったんですが・・・。
    • Google [google.com]。

      Python プログラマ常時募集中 [google.com]

      親コメント
    • by Anonymous Coward on 2003年07月30日 18時49分 (#368843)
      日本じゃあんま使われてない感じですが、
      Lisp プログラマのための Python 入門 [unixuser.org]とかなぜ Python なの? [unixuser.org]なんかを読むと言語のポテンシャルの高さが感じられるかも。
      私はそんなに高度なことは書けないのですが、時間経った後に自分が何をしたかったのかが良くわかるって点で、最近ちょこっと書いて試すのにはperlじゃなくpython使うようになりました。
      rubyのほうが良いって言われると困るけど。
      親コメント
    • かなり流行ってる気がしますけど。TclやPerlを過去の物にするほどではないですが。

      日本だけ見るとあんまり普及してないかもしれません。
      これはRubyのせいかも。
      親コメント
      • Pythonには萌えるものがないのですよ。文法変ちくりんだし。
        まぁそう思うのもRubyのせいなのかも知れませんがね。

        # 訳あってAC
        • by yg (12833) on 2003年08月09日 13時38分 (#375592)
          > Pythonには萌えるものがないのですよ。文法変ちくりんだし。

          私の印象だけなんですが、文法と言うか、語句の並べ方などがPythonは
          英語に似ているが、Rubyは日本語に近いと感じています。で、日本語に
          慣れている人だと、Rubyの方が発想しやすく、Pythonはへんちくりんに
          見えるのではないかと思っています。逆に、日本語が得意じゃない人は、
          Rubyは文法がへんちくりんと感じるのでは?

          例えば、Pythonだと
                        for rule in grammar:
                                      apply(rule)
          で、Rubyだと
                        grammer.each do |rule|
                                      apply(rule)
                        end
          といったところですかね(特にeach/forとgrammarとruleの順序)。

          また、Rubyでうれしそうにみえる、メソッドの連鎖は確かに便利で
          私的には自然なのですが、非日本語圏の人からみるとかなりへんちくりん
          にみえるのでは?例えば
              [6, 1, 5, 6, 1].sort().insert(3, 2).reverse()
          親コメント
        • Python使いですが、文法に関しては同意。
          あれに馴れるか馴れないかが、その人にとっての萌え度が高いか低いかの境目になってると思います。

          どうせ適切にインデントしようとすると(例外はありますが)Pythonのそれと同じになるので、そこは目く
          • 確かに文法は独特ですよね。
            私もemacsに助けてもらえなければPythonでスクリプト書くのはつらいです。

            >どうせ適切にインデントしようとすると(例外はありますが)Pythonのそれ
            >と同じになるので、そこは目くじら立てるほどのことでもないと思いますが

            うーん、それでも長い行の場合他の言語だとそのまま改行して書き続けられ
            ますが、Pythonだとバックスラッシュを書かないとエラーになるので、改行
            を入れずに一行にしてしまうのですよね。それで逆に可読性が悪くなったり
            して。
            まあ、私の書き方が汚いからなのですが。

            >ブロックの終了が"}"でも"end"でもない辺りは割と気になる人も多いのでしょうね。

            あ、私は必ず"pass"を入れるようにしてます。
            emacsのpython-modeならそれでインデント揃えてくれるのでコードの切り
            貼りが楽になりますし。

            それでも私はPerlが性にあわなくなって、当時Rubyはまだまだライブラリが
            充実していなかったので試してみたPythonに今ではどっぷりなのですけれど。
            --
            kaho
            親コメント
            • 今でもライブラリの豊富さという面ではrubyよりはpythonでしょうね(Perlには劣るけど)
              でも私は古い人間なので、pythonにはやや抵抗があります。
              rubyの{}とbegin..endの併用も嫌いな人は嫌いなんでしょうけど。
    • 学生ですが、授業の課題なんか、言語の指定がないものはPythonでやってます。
      文書処理から、画像工学まで、結構幅広く使えます。
      なにより、楽に、きれいに書けるところがいいですね。

      うちの大学で、Python使いは少ないようです(数えるほど?)
      CとJavaを授業で習うんで、C,Java使いか、Perl使いですね。
    • > Python必須な求人ってまだ見たことありませんけど

      Zope 界隈で極々希にぽつんと出ています =P

      なんつーか国内だと普及の決め手に欠きますよねぇ、、
  • python on windows (スコア:2, 興味深い)

    by pensupply (16093) on 2003年07月30日 17時44分 (#368811)
    高速化もいいですが、 ここ読むと、 [python.jp]windows環境での文字コードの取扱いがより楽になったみたいですね。
  • by Anonymous Coward on 2003年07月30日 17時29分 (#368805)
    昔に見たハッカーになるためのドキュメント(笑)には
    「まずはPythonから始めろ」
    みたいな事が書いてあったような。

    # 私はPython嫌い
  • by Anonymous Coward on 2003年07月30日 22時45分 (#369006)
    意外と便利なんですよね、ルンルン。
  • by Anonymous Coward on 2003年08月01日 0時32分 (#370007)
    python, perl, ruby のどれでもそれなりに使いこなせる人って
    実はまだあったことがありません。

    三つとも使いこなせる人は、なぜそうなったのでしょう?

    特にこだわりをもつほどではなかったから?
    どれも一長一短あり、用途によって使い分けているから?
    scriptラブだから?
typodupeerror

Stay hungry, Stay foolish. -- Steven Paul Jobs

読み込み中...