Jacob 'kurtextrem' Groß

@kurtextrem
85 Followers
276 Following
11 Posts
Staff Performance Engineer @framer · webperf/UX/security
Homepagehttps://kurtextrem.de
@slightlyoff @lemire Daniel has a follow up blog post (https://lemire.me/blog/2024/07/20/scan-html-even-faster-with-simd-instructions-c-and-c/). I asked whether Anton Bikineev (who implemented the original approach from Daniel in Chromium) tried that follow up in Chromium and it has no further improvements: https://chromium-review.googlesource.com/c/chromium/src/+/7246251. Nevertheless all very interesting.
Scan HTML even faster with SIMD instructions (C++ and C#)

Earlier this year, both major Web engines (WebKit/Safari and Chromium/Chrome/Edge/Brave) accelerated HTML parsing using SIMD instructions. These 'SIMD' instructions are special instructions that are present in all our processors that can process multiple bytes at once (e.g., 16 bytes). The problem that WebKit and Chromium solve is to jump to the next target character as … Continue reading Scan HTML even faster with SIMD instructions (C++ and C#)

Daniel Lemire's blog
@dreieck @mctoel Ich habe gerade meine erste Abfrage ever abgeschickt und direkt die Meldung bekommen. Wäre nicht eine Art Captcha oder PoW etwas? https://capjs.js.org/ / https://altcha.org/
Cap is the self-hosted CAPTCHA for the modern web.

Lightweight, privacy-first, and designed to put you first. Switch from reCAPTCHA in minutes.

@slightlyoff sounds like a good intro for a future PerfNow talk :D (I had to use AI to fully understand what the sentence means)

Anyway, looking forward to your css-in-js post!

@mawr @slightlyoff PageSpeed Insights are synthetic. Every run will look slightly different. Google also does not care about those, they only care about CrUX - the real user data at the very top of the PageSpeed Insights page. A 'simple' page like you describe should have great LCP, CLS & INP right away. If there is no JS, then there is a chance it's image heavy + those images don't have width/height which causes CLS. Or web fonts loading that shift things around.
@slightlyoff see you soon!
@lamplightdev @slightlyoff @rodet Ah yeah, but compared to Edge's 3d view (especially z-index) chrome's doesn't really feel 3d
@slightlyoff @rodet I still have the layers tab in my chrome devtools. What apart from the 3d view is different in edge?

@slightlyoff As for the API, naming is hard, but "postTask" implies to me it happens somewhen later. To make it more complex, what happens if:
- you do a postTask write inside the read phase?
- you do a postTask read inside write?
- you do a postTask write inside write?

which triggers now and which next frame?
motion has a parameter for that. But "post" implies anything would happen 'later', not now, so maybe window.frame/read is better (similar issue though re. the scheduling?)

@slightlyoff Pretty exciting proposal!

After working with motion for a while: https://motion.dev/docs/frame, I think the 3 phases make sense too. The concept is also "read"/"write", but "write" is split into "update" basically as "postRead" and then the real write in "render".

Integration via the reporting API is also interesting, but I think that might flood it when used on big sites. Maybe a PerformanceObserver would work better so you can filter before sending stuff?

Motion — React & JavaScript animation library

Motion (prev Framer Motion) is a fast, production-grade web animation library for React, JavaScript and Vue. Build smooth UI animations with examples, tutorials, and a tiny footprint.

@slightlyoff Not sure if worth it, but the base64'd woff2 font could maybe also benefit from putting it into an invalid script tag + reading from it at runtime: https://kurtextrem.de/posts/state-revisited. Then V8 doesn't need to parse that "big" string.
Fastest Way of Passing State to JavaScript, Re-visited

Re-visitting the most performant way of passing state to JavaScript. Contains microbenchmarks and a DevTools challenge.