Nova - Engine JavaScript & WebAssembly được viết bằng Rust
(github.com/trynova)- Nova là một engine JavaScript nổi bật với thiết kế hướng dữ liệu, áp dụng kiến trúc được tạo ra để tối đa hóa hiệu năng và hiệu quả bộ nhớ đệm
- Đồng thời theo đuổi việc ngăn ngừa lỗ hổng bộ nhớ và tối ưu hiệu năng
- Các đặc điểm chính:
- Mọi dữ liệu được cấp phát trên heap JavaScript đều được lưu trong các vector theo từng kiểu (số trong vector số, chuỗi trong vector chuỗi, v.v.).
- Tham chiếu heap được xử lý bằng các chỉ mục phân biệt theo kiểu, giúp đảm bảo an toàn bộ nhớ và hiệu quả về kích thước.
- Các đối tượng được chia theo kiểu và lưu trong các vector (đối tượng thông thường, mảng, DataView, v.v.).
- Các đối tượng không thông thường được thiết kế để chỉ tham chiếu dữ liệu của đối tượng thông thường khi cần.
- Các đối tượng được lưu theo cách tách biệt mạnh nhằm tránh đọc dữ liệu không sử dụng.
- Vẫn đang trong quá trình phát triển. Engine hiện có chức năng rất hạn chế nên chỉ vượt qua khoảng 47% bộ kiểm thử test262
1 bình luận
Ý kiến Hacker News
function X(a) { this.a = a; }vàfunction Y(b) { this.b = b; }có được xem là các loại đối tượng khác nhau không{a: 1}và{b: 2}có được xem là các loại đối tượng khác nhau không