RVMの緊急更新(Rubyバージョンマネージャー)

最近、多くのルビーのブログ、コミュニティ、およびハブで、インストーラーがGCCコンパイラーの最適化を考慮していないという事実により、RVMがルビーMRIバージョン(公式言語インタープリター)のパフォーマンスに悪影響を与えるという多くの投稿が書かれています。 もちろん、この病気には「薬」がありましたが、ペンで使用する必要があり、非常に簡単でした。 だから、RVMの最新バージョン(バージョン1.17.0以降)で状況が変わったことをみんなに喜んでもらい、もちろん、より良いことに、今度は再びrubyバージョンマネージャーに完全に依存できるようになりました。 必要なことは、最新バージョンにアップグレードすることだけです。



方法がわからない、またはこれを行う方法を忘れた人のために、私はあなたに話します。

ターミナルを起動して、次のように記述します。

$ rvm get stable
      
      





RVMはそれ自体の最新の安定バージョンをプルし、再起動し、更新結果を含む標準メッセージを表示します。このパッケージの作成者である悪名高いWayne Seguinの使用に感謝します。



RVMが更新された後、インストールされているrubyのMRIバージョンを再コンパイルする必要があります。または、さらに良いことに、後者をインストールします。 この記事の執筆時点では、最新の安定バージョンはRVM -1.17.2およびRuby-1.9.3-p327です。 RVMでルビーを再コンパイルするのは非常に簡単です。

 $ rvm reinstall 1.9.3
      
      





新しくインストールされたデフォルトのrubyバージョンを使用するには、次を実行します。

 $ rvm use 1.9.3 --default
      
      





プロセッサの最適化に加えて、RVMは現在、 funny-falconパッチについて知っており、それが存在するすべての最新バージョンでそれを配置します。 Ubuntu 12.04で4 ギガバイトのRAMを搭載したIntel®Core(TM)i5-2320 CPU @ 3.00GHzでは、パフォーマンスの向上は明らかです。典型的なベンチマークでは次の結果が得られます。



以前(RVM-1.16.17、Ruby-1.9.3-p286)

 $ time ruby -e "count = 0; while(count < 100000000); count = count + 1; end; puts count" 100000000 real 0m5.303s user 0m5.244s sys 0m0.016s
      
      





(RVM-1.17.2、Ruby-1.9.3-p327)

 $ time ruby -e "count = 0; while(count < 100000000); count = count + 1; end; puts count" 100000000 real 0m1.940s user 0m1.932s sys 0m0.004s
      
      





まあ、それがすべてです。 彼らが言うように、あなたの注意をありがとう-ハッピーハッキング!



更新: Mac OS X 10.6以降のユーザー向け。

Rubyをインストールするときに明示的にコンパイルするには、 --with-gcc=clang



オプションを追加する必要があり--with-gcc=clang





 $ rvm reinstall 1.9.3 --with-gcc=clang
      
      





このヒントについては、ユーザーvirusmanに感謝します。



All Articles