2.6.0年の開発の後、RubyXNUMXリリースが公開されました。 動的なオブジェクト指向プログラミング言語。ソフトウェア開発の効率が高く、Perl、Java、Python、Smalltalk、Eiffel、Ada、Lispの最高の機能が組み込まれています。
プロジェクトコードはBSDライセンスの下で配布されています (「2条項BSDL」)および「Ruby」。これは最新のGPLライセンスを指し、GPLv3に完全に準拠しています。
Ruby2.6はXNUMX番目のメジャーバージョンです、計画された開発プロセスの一部として準備されます。これには、機能改善を準備し、2〜3か月ごとに修正バージョンを作成するためにXNUMX年を割り当てることが含まれます。
Ruby2.6.0の主な新機能
Rubyのこの新しいリリースで JITコンパイラの実験的な実装を追加しました。 これにより、Ruby言語のアプリケーションのパフォーマンスを大幅に向上させることができます。
オンザフライでマシン命令を生成する従来のJITコンパイラとは異なり、Rubyで提案されているJITコンパイラは、最初にCコードをディスクに書き込み、次に外部Cコンパイラを呼び出してマシン命令を生成します(GCCサポート、ClangおよびMicrosoft VC ++)。
JITを有効にするには、rubyの起動時に「–jit」オプションを指定するか、RUBYOPT環境変数でこのオプションを設定する必要があります。
Ruby 2.5と比較すると、JITを含めると、CPUを集中的に使用するアプリケーションの平均パフォーマンスが1.7倍になります。
同時に、開発はまだ実験的であり、メモリを大量に消費する作業に関連する負荷には適していません。
このバージョンで得られた他の改善点は RubyVM :: AbstractSyntaxTree実験モジュール、渡された文字列をRubyコードとして処理し、このコードの抽象構文木(AST)を返す解析メソッドを提供します。
これで、エイリアス「#then」を使用して、メソッド「Kernel#yield_self」にアクセスできます。 「配列#|」メソッドの場合「Array#-」は、より読みやすいエイリアス「Array#union」と「Array#Difference」を提案しました。
定数名は、ASCII以外の大文字で始めることができるようになりました。
特定のクラス(Array、Hash、Object、Struct)を使用して寿命が短いオブジェクトを対象とした一時ヒープもサポートされました。
たとえば、theapのおかげで、小さくて短命の既存のハッシュを作成するのが6倍速くなりました。 rdocテストでは、7〜XNUMX%の収率の増加が示されました。
コンテキストスイッチのパフォーマンスを向上させるために、コルーチンのネイティブ実装が提案されています arm32、arm64、ppc64le、win32、win64、x86、およびamd64アーキテクチャーの場合。 64ビットLinuxシステムの「Fiber.yield」と「Fiber#resume」は、ほぼ5倍高速に実行されるようになりました。
一般に、集中的なプログラムでは、パフォーマンスが5%向上します。
Ruby2.6.0の主な改善点
RubyGems3.0.1のアップデートバージョンを受け取りました、「-ri」および「-rdoc」オプションのサポートが廃止され、代わりに「-document」および「-no-document」を使用する必要があります。
Bundlerは、gemの依存関係を管理するためにデフォルトでインストールされるようになりました。
「ary [1 ..]」や「(1 ..)」など、未完成の範囲のサポートが追加されました。 各{…}»。
強調することができる他の改善の中で、あなたは見つけることができます:
- falseを返す代わりにエラー時に例外を発生させるために、例外オプションがKernel#システムメソッドに追加されました。
- ワンショットモードは 各行が少なくともXNUMX回実行されているかどうかをチェックするカバレッジモジュールに追加されました。
- Enumerator :: Chainクラスと、それに実装されている「Enumerable#chain」および「Enumerator#+」メソッドが追加されて、列挙値のチェーンが作成されます。
- 演算子«<<»および«>>»のサポートがProcおよびMethodモジュールに追加されました。たとえば、構文«(f << g).call(3)»は«f(g(3 ))」。
LinuxにRuby2.6.0をインストールするにはどうすればいいですか?
この新しいバージョンのRubyを入手するには、システムでターミナルを開き、次のコマンドのいずれかを入力するだけです。
Debian、Ubuntuおよび派生物
sudo apt-get install ruby-full
CentOS、Fedora、およびRHEL
sudo yum install ruby
Gentooの
sudo emerge dev-lang/ruby
Arch Linux、Manjaro、Antergosおよび派生物
sudo pacman -S ruby
openSUSEの
sudo zypper install ruby
apt-get yum etcコマンドは、ディストリビューションのデフォルトのリポジトリに移動します。これらは一般的に古いものであり、バージョン2.6ではなく別の古いバージョンがあります。