Phiên bản Go 1.6 của Google vẫn giữ nguyên tính đơn giản và nhanh

Ngoc Huynh

Phiên bản mới nhất nhấn mạnh đến thúc đẩy hiệu suất nhưng lại không có sự thay đổi nào về ngôn ngữ, vẫn giữ nguyên lời cam kết của Google về khả năng tương thích trước (forward compatibility) mạnh mẽ.

Hiện tại, Google Go 1.6 đã có phiên bản RC (Release Candidate – là phiên bản cho dùng thử trước khi sản phẩm chính thức ra đời). Phiên bản này chú trọng đến việc cải thiện toolchain, củng cố các tính năng như garbage collection (bộ dọn rác), bổ sung thêm các port (cổng) mới vào các kiến trúc khác nhau.

Tuy vậy, bản thân ngôn ngữ không hề thay đổi. Đó là sự phản ánh cam kết đang thực hiện của Google nhằm tạo ra một ngôn ngữ Go được đón nhận nhiều hơn với ít sự thay đổi hơn.

Những thay đổi quan trọng nhất của Go đó là về cách xử lý các corner case hoặc làm rõ cách sử dụng của một tính năng cụ thể, không ghép vào chức năng bổ sung. Nhưng những thay đổi này sẽ không được thực hiện trong khoảng thời gian này: “Trong phiên bản này ngôn ngữ sẽ không có sự thay đổi nào.”

Với các phiên bản 1.x, những nhà bảo trì của Go đã cam kết về khả năng tương thích trước mạnh mẽ, có nghĩa là phần mềm được viết bằng các phiên bản 1.x ban đầu sẽ biên dịch và chạy ở các phiên bản sau này của 1.x. Cấu trúc tổng quát của ngôn ngữ — bao gồm các item đã nảy ra một số cuộc tranh luận, chẳng hạn như phát hiện lỗi và xử lý ngoại lệ (exception handling) – thì vẫn còn giữ nguyên, ít nhất cho đến phiên bản 2.0.

Một sự thay đổi lớn trong phiên bản 1.6 đó là có bộ dọn rác mới (garbage collection system) sẽ mang lại hiệu suất tốt hơn cho người dùng. Lâu nay, bộ dọn rác của Go giúp các ứng dụng đã chạy với khoảng thời gian pausestime dễ nhận thấy bất cứ khi nào bộ dọn rác được kích hoạt. Phiên bản Go 1.5 đã được thay một bộ dọn rác mới được sử dụng cho những khoảng thời gian nhỏ hơn, đã không đòi hỏi sự điều chỉnh bằng tay trên các hệ thống đa nhân, và thu được nhiều lợi ích từ việc sử dụng Go.

Các khoảng pausetime của bộ dọn rác (dành cho phiên bản 1.6) thì thậm chí ít hơn ở phiên bản Go 1.5. Mặc dù hiệu quả chỉ dễ nhận thấy đối với các chương trình đang sử dụng nhiều bộ nhớ. Tương tự như vậy, các ứng dụng của Go hiện tại thì có một số ít cải tiến về tốc độ bằng cách tái biên dịch (tức là sử dụng toolchain của phiên bản 1.6).

Một cải tiến khác đang được thực hiện đó là bổ sung thêm các port (cổng) mới vào các kiến trúc khác nhau. Go 1.6 thêm 64-bit MIPS port dành cho Linux và 32-bit x86 Android port thử nghiệm. Như vậy, Go có thể được sử dụng để viết các thành phần của các ứng dụng Android, giống như C++, mặc dù sẽ vẫn đòi hỏi lớp Wrapper trong Java.

Chia sẻ bài viết ngay

Nguồn bài viết : http://www.infoworld.com/