V8 JavaScript Engine: Cải tiến không ngừng

Related Articles

V8 không chỉ là động cơ tám xi-lanh nổi tiếng mà bạn hoàn toàn có thể tìm thấy trên những chiếc mô tô Dodge Charger, Bentley Continental GT hay Boss Hoss. Vào năm 2008, những nhà tăng trưởng Dự án Chromium đã phát hành một công cụ JavaScript và WebAssembly mới có cùng tên – V8, một tham chiếu mê hoặc về kỳ công kỹ thuật. Vậy là thêm một động cơ Vee-tám sinh ra .

Một trong những đặc tính thú vị của JavaScript và lý do tại sao V8 được sử dụng cho ngày nay là nó không phụ thuộc vào nền tảng. 

Lars Bak, lập trình viên người Đan Mạch, trưởng nhóm công nghệ tiên tiến của dự án Bất Động Sản V8

Công cụ JavaScript là gì

Nói một cách ngắn gọn, công cụ JS là những chương trình quy đổi mã JavaScript thành mã máy hoặc cấp thấp. Chúng tuân theo Tiêu chuẩn ECMAScript xác lập những tính năng và quá trình thực thi .

Giống như V8 là một thiết bị máy móc đáng chú ý, động cơ V8 JS đã tìm thấy một vị trí thích hợp cho riêng mình. Rất có thể bạn đã “gặp” trực tiếp Vee-8. Là một phần của Chrome, công cụ này chạy JavaScript khi bạn truy cập một trang web. Nói cách khác, V8 cung cấp môi trường thời gian chạy cho JS. Và các API nền tảng web (Giao diện lập trình ứng dụng) đã được cung cấp bởi trình duyệt. Ngoại trừ các trình duyệt, V8 được nhúng trong các công nghệ phía máy chủ như Node.js, MongoDB và Couchbase.

V8 được viết bằng C + + và hoàn toàn có thể chạy độc lập hoặc được nhúng vào ứng dụng C + + .Nó hoàn toàn có thể di động và chạy trên :

  • Windows 7 trở lên
  • macOS 10.12+
  • Hệ thống Linux sử dụng bộ xử lý x64, IA-32, MIPS và ARM

Trong số những công cụ JavaScript nổi tiếng ngoại trừ V8 là :

  • SpiderMonkey – Firefox
  • JavaScriptCore (Nitro) – Safari
  • Chakra JS – Microsoft Edge

Không quan trọng nếu bạn chạy nó trong trình duyệt hoặc Node.js hoặc thiết bị IoT: để đi từ thứ mà bạn viết đến thực thi thứ đó – đó là những gì mà các động cơ đang làm. Công cụ JS là trung tâm của mọi thứ mà chúng tôi làm.

Franziska Hinkelmann, Kỹ sư hạng sang tại Google

Tiền sử: Hãy khởi động động cơ

JavaScript là ngôn ngữ kịch bản phổ biến nhất cho web hiện nay, các mô-đun JS được hỗ trợ trong tất cả các trình duyệt chính. Và đó là một thành tựu tuyệt vời khi V8 độc lập với trình duyệt mà nó được lưu trữ. Làm sao chuyện này lại xảy ra?

Công cụ JS mã nguồn mở này ra đời cùng với Dự án Chromium dành cho Google Chrome và các trình duyệt Chromium khác. Lars Bak, một lập trình viên người Đan Mạch, là người tạo ra dự án và anh ấy là người dẫn dắt V8  phòng máy  đội. Người đàn ông này là một chuyên gia máy ảo thực sự và là chuyên gia thiết kế hướng đối tượng. Nhân tiện, Lars Bak đã dành 30 năm để phát triển các ngôn ngữ lập trình. Đã có lúc, anh ấy triển khai một hệ thống thời gian chạy cho BETA. Kể từ đó, ông Bak đã để lại dấu ấn trong một danh sách đầy ấn tượng về các hệ thống phần mềm khác nhau và cuối cùng đã có được động cơ V8. Nó như thế nào?

Mùa thu năm 2006. Google đã thuê Lars Bak để xây dựng một công cụ JavaScript mới nhằm vào trình duyệt Chrome. Nhóm đã tập trung vào việc xây dựng thời gian chạy JS nhanh nhất trên toàn thế giới. Đối với một ngôn ngữ động, được đánh máy lỏng lẻo như vậy, đó là một kỳ công thực sự. Thời gian chạy JS mới được đặt tên là “V8” – ám chỉ động cơ xe cơ bắp mạnh mẽ nổi tiếng.

V8 JavaScript Engine: Cải tiến không ngừng

Được hỗ trợ và tài trợ bởi Google, động cơ V8 ngày nay cung cấp một lượng lớn mã JS phía máy chủ.

Tái bút: Sau V8, Lars Bak đã nhận ra Dart và Toit và nhận giải Dahl-Nygaard năm 2018. Chà, thành tích đó nghe thật ấn tượng!

Điều gì xảy ra dưới mái che

Thật mê hoặc khi những quá trình phụ của V8 được đặt tên tương thích với những chi tiết cụ thể xe hơi. Đó không chỉ là một ý tưởng sáng tạo tên thương hiệu đầy phong thái. Đó cũng là một cách tốt để người dùng hiểu sâu hơn về hành vi của công cụ JS .

Tôi thích cách họ đổi tên quá trình xử lý động cơ V8 thành những thứ như “đánh lửa” và “turbofan”. Nó dễ nhớ hơn vì nó giống như động cơ ô tô bây giờ.

Ksee, người dùng YouTube

Và chính xác thì điều gì sẽ xảy ra với JavaScript được phân tích cú pháp bởi V8?

Theo thuật ngữ cơ bản, công cụ JS:

1. Lấy  nhiên liệu  mã nguồn

2. Trình phân tích cú pháp đang tạo một cây cú pháp trừu tượng từ nguồn

3. Trình thông dịch của V8 đang tạo ra một mã bytecode từ cây cú pháp mà một trình biên dịch có thể hiểu được

4. Trình biên dịch của V8 đang tạo một đồ thị từ mã bytecode (thay thế các phần bytecode bằng mã máy được tối ưu hóa )

5. Và, ta-dah – đang thực thi!

V8 JavaScript Engine: Cải tiến không ngừng

Và điều gì làm cho mã chạy nhanh như vậy ? Chúng ta hãy xem xét 1 số ít đặc thù mê hoặc của V8 .

  • Thông dịch hoặc biên dịch?

JS thường được coi là một ngôn từ thông dịch, nhưng những công cụ tân tiến của nó không chỉ đơn thuần là trình thông dịch để có được một quy trình thực thi hiệu suất cao hơn. Cơ sở của V8 được cho phép thực thi JS vận tốc cao là trình biên dịch JIT ( Just-In-Time ) tối ưu hóa mã trong thời hạn chạy ( không phải Ahead-Of-Time ). Nó tích hợp những tính năng tốt nhất của trình thông dịch và trình biên dịch, tích hợp những bước này và làm cho việc dịch và thực thi nhanh hơn .Trình biên dịch tối ưu hóa tiên phong của V8 là ” FullCodegen “. Mới nhất và tiên tiến và phát triển hơn là ” Turbofan “. Phần phụ trợ của nó được sử dụng bởi trình thông dịch dựa trên thanh ghi cấp thấp của V8 có tên là ‘ Ignition ‘. Đường ống Ignition + TurboFan tích hợp này đã được ra đời vào năm 2017 .Vào năm 2018 đã được phát hành Liftoff, trình biên dịch bậc nhất của WebAssembly ( Wasm ) trong V8 để khởi động nhanh những website phức tạp với những mô-đun Wasm lớn, ví dụ điển hình như Google Earth .

  • Giữ bình tĩnh và duy trì sự sạch sẽ

Trong những năm qua, những nhà tăng trưởng của V8 đã thao tác để cải tổ quá trình thu gom rác rất nhiều. Cuối cùng, họ đã tiến hành một bộ thu gom rác dựa trên thế hệ 2 ( còn được gọi là GC vừa đủ ) được gọi là ” Orinoco “. Nó vận dụng những kỹ thuật hiệu suất cao mới nhất để giải phóng luồng. Collector tìm những đối tượng người dùng và tài liệu không còn được tham chiếu và tích lũy chúng. Điều này góp thêm phần cải tổ tốt độ trễ và tải trang, hoạt ảnh, cuộn và tương tác người dùng quyến rũ hơn .

  • Độ trễ tắt

Ngoài ra, V8 còn có một mạng lưới hệ thống quản trị bộ nhớ hiệu suất cao. Nó được cho phép phân chia nhanh và quá trình tối thiểu trong khi chạy JavaScript, nghĩa là thiếu độ trễ và trục trặc khi sử dụng JS bên trong trình duyệt .Vào năm 2018, nhóm Chromium đã khởi đầu một dự án Bất Động Sản có tên là V8 Lite. Mục đích chính là giảm mức sử dụng bộ nhớ một cách can đảm và mạnh mẽ .

Ban đầu, nó được dự tính là một chính sách Lite cho những thiết bị có bộ nhớ thấp hoặc những trường hợp sử dụng được nhúng. Nhưng ngay sau đó những nhà tăng trưởng đã quyết định hành động tiến hành rất đầy đủ phần thưởng tối ưu hóa đó trong V8 thường thì, nâng cao tổng thể những khu vực sử dụng vee-tám. Bạn hoàn toàn có thể tìm hiểu thêm cụ thể kỹ thuật về tiết kiệm ngân sách và chi phí bộ nhớ và cải tổ vận tốc thực thi mà không cần thuật sĩ trong blog chính thức của V8Mục tiêu chính của tăng trưởng engine là làm cho JavaScript chạy sớm nhất có thể hoàn toàn có thể. Các nhà tăng trưởng nhấn mạnh vấn đề rằng một trong những trách nhiệm quan trọng là cải tổ một mạng lưới hệ thống phân tán, nơi hoàn toàn có thể đóng cửa từng đơn vị chức năng riêng không liên quan gì đến nhau và những đơn vị chức năng còn lại đảm nhiệm công dụng. Điều đó làm cho mạng lưới hệ thống can đảm và mạnh mẽ hơn. Nó hoàn toàn có thể được so sánh với kiến ​ ​ trúc mạng lưới hệ thống đám mây, nơi người ta hoàn toàn có thể chịu đựng một thiết bị duy nhất bị rơi, trong khi hàng loạt mạng lưới hệ thống chạy trơn tru .

Triết lý của chúng tôi là nếu bạn thực hiện một vòng phản hồi nhanh chóng, từ lập trình đến nhận phản hồi từ hệ thống đang chạy, trong vòng chưa đầy một giây, nó sẽ truyền cảm hứng cho lập trình viên thử nghiệm và phát minh ra những điều mới.

Lars Bak, lập trình viên người Đan Mạch, trưởng nhóm công nghệ của dự án V8

Vroom Vroom: Chạy đi!

Câu nói nổi tiếng của Peter Drucker “Phần lớn các đổi mới thành công khai thác sự thay đổi” đặc biệt có liên quan trong thế giới JavaScript. Cứ 6 tuần một lần, nhóm của Chromium tạo ra một nhánh mới của động cơ V8 như một phần của quá trình phát hành của họ.

Mọi con đường đều dẫn đến Chrome

Câu nói nổi tiếng của Peter Drucker ” Phần lớn những thay đổi thành công xuất sắc khai thác sự biến hóa ” đặc biệt quan trọng có tương quan trong quốc tế JavaScript. Cứ 6 tuần một lần, nhóm của Chromium tạo ra một nhánh mới của động cơ V8 như một phần của quy trình phát hành của họ. Ở đây bạn hoàn toàn có thể kiểm tra tin tức. Phiên bản 8.1 của V8 mới nhất được phát hành vào ngày 25 tháng 2 năm 2020 .tục với V8 JS vào năm 2020 !Tất cả những điểm điển hình nổi bật của v. 8.1 đều đặc biệt quan trọng mê hoặc khi đón đầu bản phát hành Chrome mới. Chrome 80 Stable được phát hành vào ngày 4 tháng 2 năm 2020, theo báo cáo giải trình của Chromium. Vì vậy, hãy kiểm tra những bản sửa lỗi và cải tổ hiệu suất và tiếp

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Advertismentspot_img

Popular stories