In the world of JavaScript engines, a new contender is emerging with some radical ideas about how runtime performance could be dramatically improved. Nova, an experimental JavaScript and WebAssembly engine written entirely in Rust, is taking an unconventional approach by borrowing concepts from Entity Component System (ECS) architecture typically used in game development.

The project's lead developer, aapoalas, is fundamentally rethinking how JavaScript engines manage memory and process code. By removing traditional structural inheritance and experimenting with data-oriented design, Nova aims to create a more cache-friendly and memory-efficient runtime. The key innovation lies in how data is stored and accessed, potentially allowing for more predictable and optimized memory layouts.

While Nova is still in early stages—currently achieving around 70-85% test coverage—its ambitions are significant. The developer isn't just trying to create another JavaScript engine, but to potentially inspire mainstream engines to reconsider their fundamental approaches to heap data structures and memory management.

Performance-wise, Nova is currently targeting the performance level of lighter engines like QuickJS or DukTape, with long-term aspirations of competing with heavyweight solutions like V8. The project is explicitly designed to be modular, with feature flags that could make it an attractive option for embedding JavaScript in Rust applications.

The most intriguing aspect of Nova might be its experimental nature. By deliberately choosing to optimize for common programming patterns and potentially "pessimizing" uncommon access patterns, the project represents a bold bet on understanding and exploiting typical JavaScript usage at a deep architectural level.