Ruby 2.7 meningkatkan pengumpulan sampah, pencocokan pola

Ruby 2.7, upgrade terbaru dari bahasa pemrograman Ruby, sekarang tersedia secara umum sebagai rilis produksi. Rilis baru ini menghadirkan peningkatan dalam pengumpulan sampah, pencocokan pola, dan REPL (read-eval-print-loop).

Yang baru di Ruby 2.7 adalah pengumpulan sampah pemadatan, yang digunakan untuk mendefragmentasi ruang memori yang terfragmentasi. The GC.compactMetode compacts benda-benda di tumpukan sehingga halaman lebih sedikit digunakan. Anggota tim pengembang Ruby menjelaskan bahwa beberapa program Ruby multi-threaded dapat menyebabkan fragmentasi memori, yang menyebabkan penggunaan memori tinggi dan penurunan kecepatan.

Perbaikan lain di Ruby 2.7.0 termasuk:

  • Kemampuan pencocokan pola eksperimental, yang dapat melintasi objek tertentu dan menetapkan nilai jika cocok dengan pola. Pencocokan pola banyak digunakan dalam bahasa pemrograman fungsional.
  • Pengeditan multi-baris sekarang didukung di irb, shell Ruby interaktif. Integrasi dengan rdoc, sistem dokumentasi Ruby, juga tersedia. Dengan irb, pengembang dapat menampilkan referensi untuk kelas, metode, atau modul. Selain itu, garis sumber yang ditampilkan di binding.irbdan memeriksa hasil untuk objek kelas inti sekarang diberi warna.
  • Konversi otomatis kata kunci dan argumen posisi sudah tidak digunakan lagi. Fitur ini akan dihapus di Ruby 3.
  • Untuk kompiler just-in-time (JIT) yang masih eksperimental, yang pertama kali diperkenalkan di Ruby 2.6, kode JIT-ed dikompilasi ulang menjadi kode yang kurang dioptimalkan ketika pengoptimalan tidak valid. Selanjutnya metode inlining dilakukan bila suatu metode dianggap murni. Namun, banyak metode yang belum dianggap murni.
  • Sebuah Enumerable#tally menghitung kemunculan setiap elemen.
  • Juga diperkenalkan adalah parameter bernomor sebagai parameter blok default.

Anda dapat mengunduh Ruby 2.7 dari ruby-lang.org.