3 ms·
I don't understand the use of JS benchmarks to compare Servo to Ladybird. Ladybird indeed has its own JS engine, and it's very young and still interpreted. On
by pizlonator 2y ago
I don't understand the use of JS benchmarks to compare Servo to Ladybird.
Ladybird indeed has its own JS engine, and it's very young and still interpreted.
On the other hand, Servo uses SpiderMonkey (i.e. shipping C++ code from Mozilla) as its JS engine.
So a Servo vs Ladybird comparison using JS benchmarks is really a comparison of Mozilla's shipping JS engine to Ladybird's from-scratch JS engine. And they're both written in C++.
- zyedidia 2y agoI don't think there are any plans for Ladybird to have a JIT compiler (they used to have one but decided to remove it) [1, 2], so it's not clear to me that this performance gap will be improved anytime soon (if ever). [1]: https://youtu.be/dKHopzDtElY?si=jc3ho2NT4vPTbXBz&t=14 https://youtu.be/dKHopzDtElY?si=jc3ho2NT4vPTbXBz&t=14 [2]: See FAQ here https://awesomekling.github.io/Ladybird-a-new-cross-platform-browser-project/ https://awesomekling.github.io/Ladybird-a-new-cross-platform...
- abnercoimbre 2y agoI read here recently that Ladybird is prepared to switch to Swift rather than C++. I can't seem to find the relevant sources; can anyone confirm?
- hypeatei 2y agoYes, here[0]. Although, it's not anywhere close to being used for everyday things. There are blockers listed in their GitHub issues and various issues posted to the Swift forums. [0]: https://xcancel.com/awesomekling/status/1822236888188498031 https://xcancel.com/awesomekling/status/1822236888188498031
- abnercoimbre 2y agoThank you! I'd imagine performance-sensitive components in the engine need to remain in C++ (or a similar systems language) right? However, I'm not privy to Swift's runtime benchmarks.
- hypeatei 2y ago> imagine performance-sensitive components in the engine need to remain in C++ I'd imagine so, yes. I think the vision is to use Swift in "risky" areas like parsing data for example. Probably much more too, but the big hitters would be safety critical areas I think.
- karulont 2y agoSwift has been adding support for things like non-copyable types that should help with writing performance sensitive parts.
- pizlonator 2y ago> I don't think there are any plans for Ladybird to have a JIT compiler (they used to have one but decided to remove it) [1, 2], so it's not clear to me that this performance gap will be improved anytime soon (if ever). How does that make this comparison make any sense? Point is, this isn't a Servo vs Ladybird comparison. It's a Mozilla vs Ladybird comparison.