Live data from Hacker News

Brimstone: ES2025 JavaScript engine written in Rust

github.com

31–40 of 125 posts

Re: Brimstone: ES2025 JavaScript engine written in Rust

#31
post #25

Just a small comparison, compiled for release: Boa: 23M Brimstone: 6.3M I don't know if closing the gap on features with Boa and hardening for production use will also bloat the compilation size. Regardless, for passing 97% of the spec at this size is pretty impressive.

It looks like Boa has Unicode tables compiled inside of itself: https://github.com/boa-dev/boa/tree/main/core/icu_provider Brimstone does not appear to. That covers the vast bulk of the difference. The ICU data is about 10.7MB in the source (boa/core/icu_provider) and may grow or shrink by some amount in the compiling. I'm not saying it's all the difference, just the bulk. There's a few reasons why svelte little exec…

As well-defined as Unicode is, surprising that no one has tried to replace ICU with a better mousetrap.

Not to say ICU isn’t a nice bit of engineering. The table builds in particular I recall having some great hacks.

Re: Brimstone: ES2025 JavaScript engine written in Rust

#33

Memory safety is one of Rust’s biggest selling points. It’s a bit baffling that this engine would choose to implement unsafe garbage collection.

IMO the memory safety aspect is overblown by enthusiasts and purists. Rust is an overall nice fast imperative language.

Re: Brimstone: ES2025 JavaScript engine written in Rust

#34
post #3
post #2

Could you compare it with Boa? It is written in Rust too. https://github.com/boa-dev/boa

I have some benchmark results here: https://ivankra.github.io/javascript-zoo/?v8=true It's impressively compliant, considering it's just a one man project! Almost as fully featured as Boa, plus or minus a few things. And generally faster too, almost double the speed of Boa on some benchmarks.

First time seeing a few of the engines listed here - based on this table I'm surprised Samsung's Escargot hasn't gotten more attention. LGPL, 100% ES2016+ compliance, top 10 perf ranking, 25% the size of V8 & only 318 Github stars.

A quick HN search shows 0 comments for Escargot - is there some hidden problem with this engine not covered in this table?

Re: Brimstone: ES2025 JavaScript engine written in Rust

#35

"Compacting garbage collector, written in very unsafe Rust" got me cracking.

Sorry for the offtop, but I really miss the cracktros. Imagine having Ikari intro before you boot into your OS.

Plymouth let's you do it on Linux without hacking around like osx or windows.

Re: Brimstone: ES2025 JavaScript engine written in Rust

#36
post #25

Just a small comparison, compiled for release: Boa: 23M Brimstone: 6.3M I don't know if closing the gap on features with Boa and hardening for production use will also bloat the compilation size. Regardless, for passing 97% of the spec at this size is pretty impressive.

It looks like Boa has Unicode tables compiled inside of itself: https://github.com/boa-dev/boa/tree/main/core/icu_provider Brimstone does not appear to. That covers the vast bulk of the difference. The ICU data is about 10.7MB in the source (boa/core/icu_provider) and may grow or shrink by some amount in the compiling. I'm not saying it's all the difference, just the bulk. There's a few reasons why svelte little exec…

I was currious to see what that data consisted of and aparently that's a lot of translations, like the name of all possible calendar formats in all possible languages, etc. This seems useless in the vast majority of use cases, including that of a JS interpreter. Looks to me like the typical output of a comitee that's looking too hard to extend its domain.

Disclaimer: I never liked unicode specs.

Re: Brimstone: ES2025 JavaScript engine written in Rust

#40

Memory safety is one of Rust’s biggest selling points. It’s a bit baffling that this engine would choose to implement unsafe garbage collection.

IMO the memory safety aspect is overblown by enthusiasts and purists. Rust is an overall nice fast imperative language.

Rust WAS really nice before it got mangled with syntax like we never seen before. Graydon did not imagine rust as what it is today. Rust core wo. async is ok, but in practice rust projects tend to have hundreds of deps and really slow compiles. Its just like javascript with npm.
Post reply on HN