September in Servo: progress, rounded rectangles, and more

75 points by FedericoSchonborn a day ago on lobsters | 11 comments

vincent-uden | a day ago

While Ladybird produces the flashier demos at the current point in time I hope Servo can continue its development to act as a second independent implementation of web rendering now that Ladybird has gone hard into AI-powered development.

I understand that almost everything about the projects are different: scope, funding, programming language (although not entirely anymore since Ladybirds transition to Rust), etc. But I think it could serve as an interesting case study in the AI and non-AI development methods in the future, despite all these differences.

xnacly | 21 hours ago

the only thing (imo) servo is missing is a JavaScript engine thats as revolutionary in terms of parallelism

mordae | 20 hours ago

I'd take automatic vectorization that doesn't stop at 2 doubles at a time at this point.

What do you mean by that? One couldn't take existing JavaScript code and run it in a parallel way as it would change the semantics of the language and so would break any existing concurrent JavaScript programs.

yokljo | 15 hours ago

Just to play with the idea: You could eagerly execute all non-IO branches (or some branches, using a branch predictor) in a thread pool to achieve faster runtime via multithreading. Would be a super inefficient use of resources though. I'm sure there's a lot of smarter ways to automatically parallelise code written for a single thread.

I remember reading years ago about how Servo when it encounters a <script> block, it just keeps parsing as if the script block doesn't do document.write(...), but the moment it does, it rewinds to that point, because the <script> block has to behave synchronously (but doesn't mean it actually has to be processed synchronously in all situations). I'm imagining the same kind of principle could apply to running JS.

xnacly | 19 hours ago

ofc not, i mean parsing, resolving imports, other things like differing approaches to high performing backends (not llvm :3), parallel jiting and gc, the whole shebang

Ah! To speed up code loading and starting execution? I feel like the current engines are really good at that. Do you think there's much more value to be had there?

xnacly | 19 hours ago

Im not sure, i just like how ladybird is trying things out and i feel like sometimes starting from scratch has the benefit of allowing to rethink some seemingly established thinking points

viraptor | 4 hours ago

Unless you can prove that local changes don't leak and the debugger doesn't stop in weird places. (And deoptimise when breakpoints appear) Java 7 went through a period of new optimisations enabled by escape analysis. JS runtimes could do it too.

proctrap | 16 hours ago

Nice, I sadly get stuck hard on sites like https://www.wiki.gg/ permanently after trying the "experimental features" once with a

Just a moment...We need to review the security of your browser and network before proceeding Security checks are being performed by Cloudflare If this page appears often, please send us the following information: ..

But that site never goes away and if I try to use the report function it'll hang too. Reported that in firefox and will have to see if I can debug this here too.

Oh and having Ctrl + L for editing the URL would be nice, same for moving the selection via keys.

moltonel | 32 minutes ago

This is due to Cloudflare's Turnstile, which is notoriously hard to satisfy, even Chrome and Firefox fail it sometimes.

FWIW, I managed to load wiki.gg with Servo git a couple of times. It's unreliable (and if it fails once it gets stuck there until you reset your browser data), but it's getting further than the last time I tried (on a different Turnstile-gated website), a release ago.