DevTools uses a server side model, and only after you opt in with explicit consent.
Navigate to a page, right click > inspect, open the What's New panel in DevTools.
https://developer.chrome.com/docs/devtools/ai-assistance
Hi. I'm the V8 engineer who implemented the fix and wrote the blog post. The reason the initial bug report [0] was marked as WAI but the Medium blog post got a lot more traction is very simple and much more human. When…
I work on Chrome DevTools. The reason is absolutely security concerns. You don't want to leak a function that can expose a list of all objects on the JS heap.
Chrome sets navigator.webdriver to true when controlled by automation. Until now, bots could simply use headful mode to achieve the same effect that is now made available through the new headless implementation.
I manage the team at Google that currently owns the Puppeteer project. The previous team that developed Puppeteer indeed moved to Microsoft and have since started Playwright. While it is true that staffing is tight…
There is a lot of content on V8's dev blog, with different depth, all pretty well written: https://v8.dev/blog
Impressive numbers. Did you try to use startup snapshot in V8 to improve TTI? https://v8.dev/blog/custom-startup-snapshots
V8 already employs W^X, i.e. memory pages allocated for V8's heap are either writable or executable, but not both at the same time.
You were already able to do this by loading any other kind of cached resource.
In what case should this be preferred over plain old Service Workers running on the user's browser? Latter is even lower latency and for free.
There are some features in V8 to make loading a script even faster. I'd be glad to connect over these features on twitter (same username). I implemented them.
Chrome already caches compile result for previously visited pages to bypass the initial parsing/compiling.
Do you have any details on what could be improved wrt V8's snapshotting? We have recently extended the feature set a lot in order to be able to snapshot full Blink contexts, and there are some efforts on-going to…
iirc JSC folks are blocking explicit tailcalls on TC39
Often enough, implementing the optimal solution is not really more time-consuming than the brute force solution. Often it's not about micro-optimizations, but a difference between O(n^3) and O(n*logn).
But imagine Einstein having to look up how to derive x^2. I'd say that's a pretty close equivalent to knowing tree traversal in CS. It should just come naturally.
Yup. To some, performance is just an implementation detail, and they keep adding hooks like @@hasInstance.
To clarify, this is not a real job title. Chrome and V8 blog posts are written by engineers who worked on the feature being blogged about, and can choose a funky title to go with the name :)
Implementing lookbehind by reading backwards is not more computationally expensive than reading forward. It adds some complexity to the regexp engine, yes, but that's manageable. There are some quirks vs. stepping back…
Not sure. If it spins up a new V8 instance every time, then no. But I don't think that happens. It probably keeps a V8 instance around, so in-memory code caching should already work. Edit: looking at the plv8 code, it…
V8-based projects can benefit from this as well: http://www.hashseed.net/2015/03/improving-v8s-performance-us...
DevTools uses a server side model, and only after you opt in with explicit consent.
Navigate to a page, right click > inspect, open the What's New panel in DevTools.
https://developer.chrome.com/docs/devtools/ai-assistance
Hi. I'm the V8 engineer who implemented the fix and wrote the blog post. The reason the initial bug report [0] was marked as WAI but the Medium blog post got a lot more traction is very simple and much more human. When…
I work on Chrome DevTools. The reason is absolutely security concerns. You don't want to leak a function that can expose a list of all objects on the JS heap.
Chrome sets navigator.webdriver to true when controlled by automation. Until now, bots could simply use headful mode to achieve the same effect that is now made available through the new headless implementation.
I manage the team at Google that currently owns the Puppeteer project. The previous team that developed Puppeteer indeed moved to Microsoft and have since started Playwright. While it is true that staffing is tight…
There is a lot of content on V8's dev blog, with different depth, all pretty well written: https://v8.dev/blog
Impressive numbers. Did you try to use startup snapshot in V8 to improve TTI? https://v8.dev/blog/custom-startup-snapshots
V8 already employs W^X, i.e. memory pages allocated for V8's heap are either writable or executable, but not both at the same time.
You were already able to do this by loading any other kind of cached resource.
In what case should this be preferred over plain old Service Workers running on the user's browser? Latter is even lower latency and for free.
There are some features in V8 to make loading a script even faster. I'd be glad to connect over these features on twitter (same username). I implemented them.
Chrome already caches compile result for previously visited pages to bypass the initial parsing/compiling.
Do you have any details on what could be improved wrt V8's snapshotting? We have recently extended the feature set a lot in order to be able to snapshot full Blink contexts, and there are some efforts on-going to…
iirc JSC folks are blocking explicit tailcalls on TC39
Often enough, implementing the optimal solution is not really more time-consuming than the brute force solution. Often it's not about micro-optimizations, but a difference between O(n^3) and O(n*logn).
But imagine Einstein having to look up how to derive x^2. I'd say that's a pretty close equivalent to knowing tree traversal in CS. It should just come naturally.
Yup. To some, performance is just an implementation detail, and they keep adding hooks like @@hasInstance.
To clarify, this is not a real job title. Chrome and V8 blog posts are written by engineers who worked on the feature being blogged about, and can choose a funky title to go with the name :)
Implementing lookbehind by reading backwards is not more computationally expensive than reading forward. It adds some complexity to the regexp engine, yes, but that's manageable. There are some quirks vs. stepping back…
Not sure. If it spins up a new V8 instance every time, then no. But I don't think that happens. It probably keeps a V8 instance around, so in-memory code caching should already work. Edit: looking at the plv8 code, it…
V8-based projects can benefit from this as well: http://www.hashseed.net/2015/03/improving-v8s-performance-us...