パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Rubyを最大63%高速化した中学生」記事へのコメント

  • 古代の昔から、処理系が持つ標準の関数が遅いのでテーブル使うなり自分で関数を置き換えるなりする
    などして高速化するのは当たり前だったし、今回はたまたまオープンソースだったからそれを指摘
    しただけだよね?
    マクロを外に出すとかも古代からあるテクニックだし、所詮埋もれてた問題にたまたま気づいただけ
    としか思えない。というか、ver upの際に低速化したのなら、明らかにその部分を担当した人間の
    ミスでしょう。

    Rubyを63%高速化って言っても、特定の用途の処理を行う際に高速化されただけで、これによる恩恵を
    受けるユーザはそれほど多くないように思う。
    これくらいのことはOSS界では日常茶飯事だし、職場でも毎日のように遭遇することなんだけど、
    記事にするほど珍しいことなの?

    #そもそもフィボナッチ数列って業務的にはほとんど使わないよね

    • by Anonymous Coward on 2009年10月29日 6時54分 (#1662052)
      Ruby関係のblogを読むと、なぜかフィボナッチ数列を出力するコードを書く人が多いように思います。
      Lispや関数型言語も多いですね。
      JavaやC++関係では、ほとんど見たことが無いのですけど。

      つまり、あなたや私が知らないだけで、この世の中にはフィボナッチ数列を日常的に必要としている人が結構いるということではないでしょうか?
      親コメント
      • >つまり、あなたや私が知らないだけで、この世の中にはフィボナッチ数列を日常的に
        >必要としている人が結構いるということではないでしょうか?
        世の中に出回っている、”fib.rb" とかのコードは再帰関数呼び出しの
        ベンチマーク・デモ用です。いわば、わざと非効率なことでコンピュータを
        いじめてるようなもんです。

        ホントにフィボナッチ数列が欲しけりゃ、人間がやっている手順そのままに
        やったほうが、一億倍マシです。
        ま、それが判るようになるのもアルゴリズムの勉強の一環なんですがね。
        親コメント
        • by Anonymous Coward

          ホントにフィボナッチ数列が欲しけりゃ、人間がやっている手順そのままに
          やったほうが、一億倍マシです。

          つまり再帰で書けということか。

          (define (fib n)
                  (cond ((= n 1) 1)
                        ((= n 2) 1)
                        (else (let fib-iter ((k 3) (fk-1 1) (fk 2))
                                 (if (= n k)
                               

      • by Anonymous Coward

        > Ruby関係のblogを読むと、なぜかフィボナッチ数列を出力するコードを書く人が多いように思います。
        > Lispや関数型言語も多いですね。
        > JavaやC++関係では、ほとんど見たことが無いのですけど。

        再帰を学ぶ例としてちょうどいいというだけでは?
        C++では、コンパイルするとフィボナッチ数列が得られるコードならたまに見かけます。

にわかな奴ほど語りたがる -- あるハッカー

処理中...