← Back to context

Comment by the_why_of_y

4 years ago

My reading is that performance problems are caused by interactions between reference-counted GObjects and tracing GC, nothing to do with "not having a V8 class implementation".

> https://gitlab.gnome.org/GNOME/gjs/-/issues/361

Now what can we learn here? Well, the most important lesson is that getting properties from GObjects seems to be very expensive and a major bottleneck [...] Also generally (and as expected), recursive processes like Clutters allocation machinery round tripping between C and JS land are a bad idea and should probably avoid JS land altogether

> https://feaneron.com/2018/04/20/the-infamous-gnome-shell-mem...

This fix is strictly specific to GObjects wrapped by GJS

From my point of view, the whole experience end to end counts as having a V8 class implementation, and not the bare bones runtime.

ChromeOS isn't only V8 without anything else.