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に感謝します。

Source: https://habr.com/ru/post/J162533/


All Articles