Bản cập nhật thứ sáu của ngôn ngữ lập trình Ruby 2.6.0 là ở đây

RubyLinux

Sau một năm phát triển, bản phát hành Ruby 2.6.0 được xuất bản, một ngôn ngữ lập trình hướng đối tượng động, được đặc trưng bởi hiệu quả phát triển phần mềm cao và tích hợp các tính năng tốt nhất của Perl, Java, Python, Smalltalk, Eiffel, Ada và Lisp.

Mã dự án được phân phối theo giấy phép BSD ("BSDL 2 điều khoản") và "Ruby", đề cập đến giấy phép GPL mới nhất và hoàn toàn tuân thủ GPLv3.

Ruby 2.6 là phiên bản chính thứ sáu, được chuẩn bị như một phần của quy trình phát triển theo kế hoạch, bao gồm phân bổ một năm để chuẩn bị các cải tiến chức năng và tạo các phiên bản sửa chữa sau mỗi 2-3 tháng.

Các tính năng mới chính trong Ruby 2.6.0

Với bản phát hành mới này của Ruby đã thêm một triển khai thử nghiệm của trình biên dịch JIT, cho phép bạn cải thiện đáng kể hiệu suất của các ứng dụng bằng ngôn ngữ Ruby.

Không giống như các trình biên dịch JIT truyền thống, tạo ra các lệnh máy một cách nhanh chóng, trình biên dịch JIT được đề xuất trong Ruby đầu tiên ghi mã C vào đĩa, sau đó gọi trình biên dịch C bên ngoài để tạo ra các lệnh máy (được hỗ trợ GCC, Clang và Microsoft VC ++).

Để bật JIT, bạn phải chỉ định tùy chọn "–jit" khi khởi động ruby ​​hoặc đặt tùy chọn này trong biến môi trường RUBYOPT.

So với Ruby 2.5, việc đưa vào JIT trung bình gấp 1.7 lần hiệu suất của các ứng dụng chuyên sâu về CPU.

Đồng thời, sự phát triển vẫn còn mang tính thử nghiệm và không phù hợp với các tải liên quan đến công việc đòi hỏi nhiều trí nhớ.

Các cải tiến khác có được trong phiên bản này là Mô-đun thử nghiệm RubyVM :: AbstractSyntaxTree, cung cấp một phương thức phân tích cú pháp xử lý các chuỗi được truyền dưới dạng mã Ruby và trả về Cây cú pháp trừu tượng (AST) cho mã này.

Giờ đây, bí danh "#then" có thể được sử dụng để truy cập vào phương thức "Kernel # output_self". Đối với các phương thức "Array # |" và "Array # -" được đề xuất các bí danh dễ đọc hơn "Array # union" và "Array # Difference".

Tên không đổi hiện có thể bắt đầu bằng các chữ cái viết hoa khác với ASCII.

Hỗ trợ cũng được cung cấp cho Transient Heap, bản đồ dành cho các đối tượng có tuổi thọ ngắn sử dụng các lớp cụ thể (Array, Hash, Object, Struct).

Viên ngọc trên tay vịn

Ví dụ: nhờ theap, việc tạo các hàm băm nhỏ, tồn tại trong thời gian ngắn giờ đây nhanh hơn gấp đôi. Thử nghiệm rdoc cho thấy năng suất tăng 6-7%.

Để tăng hiệu suất của chuyển mạch ngữ cảnh, các triển khai gốc của các quy trình được đề xuất cho các kiến ​​trúc arm32, arm64, ppc64le, win32, win64, x86 và amd64. "Fiber.yield" và "Fiber # resume" trên các hệ thống Linux 64-bit hiện chạy nhanh hơn gần 5 lần.

Nói chung, các chương trình chuyên sâu cho thấy hiệu suất tăng 5%.

Những cải tiến chính trong Ruby 2.6.0

Đã nhận được phiên bản cập nhật của RubyGems 3.0.1, trong đó hỗ trợ cho các tùy chọn "–ri" và "–rdoc" đã bị ngừng, thay vào đó bạn nên sử dụng "–document" và "–no-document".

Bundler hiện được cài đặt theo mặc định để quản lý sự phụ thuộc của gem.

Đã thêm hỗ trợ cho các phạm vi chưa hoàn thành, ví dụ: "ary [1 ..]" hoặc "(1 ..). Mỗi {…} ".

Trong số các cải tiến khác có thể được đánh dấu, bạn có thể tìm thấy:

  • Tùy chọn ngoại lệ đã được thêm vào phương thức Kernel # system để đưa ra một ngoại lệ về lỗi thay vì trả về false.
  • Chế độ oneshot đã được được thêm vào mô-đun bảo hiểm, mô-đun này sẽ kiểm tra xem mỗi hàng có đang thực thi ít nhất một lần hay không.
  • Lớp Enumerator :: Chain và các phương thức "Enumerable # chain" và "Enumerator # +" được triển khai trong nó được thêm vào để tạo chuỗi các giá trị được liệt kê.
  • Hỗ trợ cho các toán tử «<<» và «>>» đã được thêm vào các mô-đun Proc và Method, ví dụ: cấu trúc «(f << g) .call (3)» giống hệt với «f (g (3) )) ".

Làm thế nào để cài đặt Ruby 2.6.0 trên Linux?

Để tải phiên bản Ruby mới này, chỉ cần mở một thiết bị đầu cuối trên hệ thống của bạn và nhập một trong các lệnh sau

Debian, Ubuntu và các dẫn xuất

sudo apt-get install ruby-full

CentOS, Fedora và RHEL

sudo yum install ruby

Gentoo

sudo emerge dev-lang/ruby

Arch Linux, Manjaro, Antergos và các dẫn xuất

sudo pacman -S ruby

openSUSE

sudo zypper install ruby

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Daniel dijo

    Các lệnh apt-get yum etc sẽ chuyển đến kho lưu trữ mặc định của các bản phân phối, các bản phân phối này thường cũ và bạn sẽ không có phiên bản 2.6 mà là một phiên bản cũ khác.