[–] fabrice_d 2 days ago
[–] jeffbee 2 days ago
[–] fabrice_d 2 days ago
- Servo b88af263d11e12288ff3eca0848aaa675d6a52f0: 21.4
- Chrome 157: 60.9
- Safari 27.2: 59.2
- Firefox 159: 41.0
So between 2x and 3x slower than the current "big 3".
[–] orangeboats 2 days ago
[–] MobiusHorizons 2 days ago
[–] orangeboats 2 days ago
>v8 is fast because it emits assembly
It emits machine code afaik. And secondly, do you _really_ want to implement the intermediate layers of a JIT in assembly?
[–] MobiusHorizons 1 day ago
However the point I was trying to make is still relevant I think, which is that machine instruction abstraction layer (whether it is serialized as binary machine code or as assembly text) remains a critical piece of what makes high performance software fast even today.
There is a recurring myth I see on HN that suggests abstraction layers are progressive, as though humanity had evolved past the assembly/machine instructions abstraction layer to C to higher level languages leaving lower abstraction layers behind completely. That is simply untrue, and a project like V8 is actually a great example of this, since it not only will have hand tuned assembly routines, but also needs to ship a bespoke compiler which will emit machine instructions.
So even though it’s true we don’t organize our software with assembly language, it remains a key to performance. It could be a custom JIT compiler, hand tuned SIMD code (eg to handle string parsing), or even just checking what the compiler emitted (eg in compiler explorer). Machine instructions remain key to high performance.
[–] orangeboats 1 day ago
I am not going to waste my time with you.
[–] nicoburns 2 days ago