Nova
Languages and libraries
javascript engine
SHOW HN2024
271points
102comments
#254of 3,515 in 2024
Top 8%of 2024 by points
How HN took it
CuriousMostly questions and neutral comments
6 positive, 25 neutral or asking, 2 mixed, 9 critical, out of 42 comments about the project. Thread score -0.12.
Design: 3 for, 2 againstExecution: 1 for, 3 againstIdea: 1 for, 2 againstPerformance: 0 for, 2 against
The thread, comment by comment
Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.
positive neutral or mixed critical about another commenter or something else the maker
What HN said
What people liked
Interesting data-oriented architecture ideas
From 2 comments
Thank you for the encouragement! Avoiding alignment gaps is indeed pretty great: I have a vision of packing Arrays into 9 bytes split over two or three cache lines. On typed…
aapoalas on HNWell I'll be damned! That sounds very much like what I want Nova to eventually be :) We don't have fields split apart at present, mostly because Rust doesn't make that quite as…
aapoalas on HN
Objections
Heap vector reallocation and compaction during GC could cause stalls
From 1 comment
It is very true that a general purpose computation can theoretically do anything and mess linearity of access patterns entirely up. But in practice programs do most of their work…
aapoalas on HN
Requests
Comparison of this engine design against a traditional one
From 1 comment
Well I'll be damned! That sounds very much like what I want Nova to eventually be :) We don't have fields split apart at present, mostly because Rust doesn't make that quite as…
aapoalas on HN
Questions
Whether an ECS-like layout helps in practice
From 2 comments
Thank you very much for your well-wishes <3 > Yes, but note this is still a different pattern of access (array of "entities"). I was referring to the `[foo, foo2, foo3]` objects…
aapoalas on HNExcellent question: In a theoretical sense the answer would be that we cannot know since it depends on the JavaScript being run. But: In practice I think that is indeed the case.…
aapoalas on HN
Alternatives named
V8
From 2 comments
That's a good point. The "Internals of Nova" blog posts do a bit more explicit comparisons to V8. In V8, and other production engines AFAIK, objects are variable-sized monoliths:…
aapoalas on HNV8 could probably implement the backing object "trick" with some trouble. I'm half-hoping that Nova will show it to be worth their while and that they will eventually do it. It…
aapoalas on HN
Safari JavaScriptCore
From 1 comment
I'm mostly just hoping it won't become necessary, though that is perhaps a vain hope. The reasoning is that, according to my interpretation of talking with some folks working on…
aapoalas on HN
Ladybird LibJS
From 1 comment
I'm mostly just hoping it won't become necessary, though that is perhaps a vain hope. The reasoning is that, according to my interpretation of talking with some folks working on…
aapoalas on HN