Ruby 2.6.0 programlama dilinin altıncı güncellemesi burada

Yakut Linux

Bir yıllık geliştirmeden sonra Ruby 2.6.0 sürümü yayınlandı, Yüksek yazılım geliştirme verimliliği ile karakterize edilen ve Perl, Java, Python, Smalltalk, Eiffel, Ada ve Lisp'in en iyi özelliklerini içeren dinamik bir nesne yönelimli programlama dili.

Proje kodu BSD lisansları altında dağıtılır ("2 maddeli BSDL") ve en son GPL lisansını ifade eden ve tamamen GPLv3 uyumlu olan "Ruby".

Ruby 2.6, altıncı ana sürümdür, her 2-3 ayda bir işlevsel iyileştirmeler hazırlamak ve düzeltici sürümler oluşturmak için bir yıl ayırmayı içeren planlı bir geliştirme sürecinin parçası olarak hazırlanmıştır.

Ruby 2.6.0'daki başlıca yeni özellikler

Ruby'nin bu yeni sürümüyle JIT derleyicisinin deneysel bir uygulamasını ekledi, Ruby dilinde uygulamaların performansını önemli ölçüde artırmanıza olanak tanır.

Anında makine talimatları oluşturan geleneksel JIT derleyicilerinden farklı olarak, Ruby'de önerilen JIT derleyicisi önce C kodunu diske yazar, ardından makine talimatlarını oluşturmak için harici C derleyicisini çağırır (GCC destekli, Clang ve Microsoft VC ++).

JIT'i etkinleştirmek için, Ruby'yi başlatırken "–jit" seçeneğini belirtmeli veya bu seçeneği RUBYOPT ortam değişkeninde ayarlamalısınız.

Ruby 2.5 ile karşılaştırıldığında, JIT'in dahil edilmesi CPU yoğun uygulamaların performansının ortalama 1.7 katıdır.

Aynı zamanda, geliştirme hala deneyseldir ve bellek yoğun çalışmayla ilişkili yükler için uygun değildir.

Bu versiyonda elde edilen diğer iyileştirmeler, RubyVM :: AbstractSyntaxTree deneysel modül, aktarılan dizeleri Ruby kodu olarak işleyen ve bu kod için Soyut Sözdizimi Ağacı (AST) döndüren bir ayrıştırma yöntemi sağlar.

Artık "#then" takma adı "Kernel # give_self" yöntemine erişmek için kullanılabilir. "Dizi # |" yöntemleri için ve "Dizi # -" daha okunabilir takma adlar önerdi "Dizi # birliği" ve "Dizi # Farkı".

Sabit isimler artık ASCII dışında büyük harflerle başlayabilir.

Belirli sınıfları (Array, Hash, Object, Struct) kullanan kısa ömürlü nesnelere yönelik olan Transient Heap için de destek sağlandı.

yakut-on-raylar

Örneğin, theap sayesinde, küçük, kısa ömürlü mevcut karmalar oluşturmak artık iki kat daha hızlı. Rdoc testi verimde% 6-7 artış gösterdi.

Bağlam anahtarlarının performansını artırmak için, eşgüdümlerin yerel uygulamaları önerilmiştir arm32, arm64, ppc64le, win32, win64, x86 ve amd64 mimarileri için. 64 bit Linux sistemlerinde "Fiber.yield" ve "Fiber # resume" artık neredeyse 5 kat daha hızlı çalışıyor.

Genel olarak, yoğun programlar% 5'lik bir performans artışı göstermektedir.

Ruby 2.6.0'daki büyük iyileştirmeler

RubyGems 3.0.1'in güncellenmiş bir sürümü alındı, "–ri" ve "–rdoc" seçenekleri için desteğin kaldırıldığı, bunun yerine "–document" ve "–no-document" kullanmanız gerekir.

Bundler artık gem bağımlılıklarını yönetmek için varsayılan olarak yüklenmiştir.

Bitmemiş aralıklar için destek eklendi, örneğin, "ary [1 ..]" veya "(1 ..). Her biri {…} ".

Vurgulanabilecek diğer iyileştirmeler arasında şunları bulabilirsiniz:

  • Kernel # sistem yöntemine, yanlış döndürmek yerine hata durumunda bir istisna oluşturmak için istisna seçeneği eklenmiştir.
  • Tek çekim modu her satırın en az bir kez çalışıp çalışmadığını kontrol eden kapsam modülüne eklenir.
  • Enumerator :: Chain sınıfı ve içinde uygulanan "Numaralandırılabilir # zincir" ve "Numaralandırıcı # +" yöntemleri, numaralandırılmış değer zincirleri oluşturmak için eklenir.
  • Proc ve Method modüllerine «<<» ve «>>» operatörleri için destek eklendi, örneğin, «(f << g) .call (3)» yapısı «f (g (3) ile aynıdır )) ".

Ruby 2.6.0 Linux'a nasıl kurulur?

Ruby'nin bu yeni sürümünü almak için, sisteminizde bir terminal açmanız ve aşağıdaki komutlardan birini yazmanız yeterlidir.

Debian, Ubuntu ve türevleri

sudo apt-get install ruby-full

CentOS, Fedora ve RHEL

sudo yum install ruby

Gentoo

sudo emerge dev-lang/ruby

Arch Linux, Manjaro, Antergos ve türevleri

sudo pacman -S ruby

openSUSE

sudo zypper install ruby

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   Daniel dijo

    Apt-get yum etc komutları, genellikle eski olan ve 2.6 sürümüne değil başka bir eski sürüme sahip olan dağıtımların varsayılan depolarına gider.