Hacker News new | ask | show | jobs
by v413 1736 days ago
React is slow for the perf targets of VSCode.
1 comments

React Native != React.

Also do you consider that VSCode has higher performance requirements than XBox dashboard, or Office plugins?

It's still React, and it's still too slow. The only difference is where the render is committed to (DOM vs Native UI)

Having a declarative rendering logic, a rendering runtime, the VDOM, diffing, re-rendering, update scheduling and everything else that React uses under the hood is always going to be slower than tailor-made imperative rendering.

And let's not even go down the rabbit hole which is concurrent mode and suspense, where React is going to be basically a black box more suited to quantum computing with the whole "render x times and settle on a result that it thinks is correct".

I'm not sure if it will take up more resources than the Xbox dashboard or office plugins, but I am willing to say "yes". The dashboard is quite simple compared to a full-fledged IDE which VScode is becoming, and I'm yet to see the whole Office suite, including the underlying logic, being ported to React Native.

Atom was ported to React at one point but they quickly abandoned it because of the bad performance. Microsoft followed suit and hasn't even bothered with React for VScode.

Ah, that is why Teams dropped Electron for React Native!
Microsoft Teams? No they didn't drop Electron for RN/RNW. They dropped Electron for Microsoft Edge WebView2. I might be missing some sarcasm though
No commenting on the React thing, but yes I do think that VSCode has much higher performance requirements than Xbox dashboard or Office plugins.

VSCode has a very technical user base that will complain a lot if there is any kind of sluggish performance when doing live debugging. It's not just to work on small JS projects anymore. I use it to debug CUDA kernels on several processes at the same time and a lot of people have similar push-it-to-the-limit use cases.

If the user base was that technical, with performance requirements, they wouldn't be using an Electron based product to start with, when there are plenty of other native alternatives, including for CUDA debugging from Nvidia themselves.
I have over 2 decades in this industry and have used almost every IDE that exists.

I work on very large and complex projects ... the current one I'm working with is a massive Angular 12 project.

The fact that it's Electron doesn't matter to me. I am not concerned with it "using much more memory than native" because that has no effect on me.

All I care about that it works, and that is is performant. It is both.