I think it’s not flawless. However, when comparing it to other Electron apps like Slack or Notion, the performance and optimization aren’t as good.
VSCode manages multiple tabs with thousands of lines of code without much fuss. So why are some simple pages in Notion slowing everything down?
I’m not a web developer, but I’ve always felt the issue lies with Electron itself, which isn’t fine-tuned for operating systems the way native apps like those built with dotnet or swift are.
Web applications are generally quick, and adding unnecessary features slows them down.
VSCode takes some smart steps forward by speeding up start times by baking the V8 context beforehand, but that’s not the first thing to focus on.
Look at Progressive Web Apps - on my device, they often boot faster than native ones, except in cases where they are intentionally limited like Twitter/X.
Even though I dislike Electron, the performance relies on the version of Chrome in the app and the developer’s skills in creating the Electron component. You can find fantastic Electron apps, terrible ones, and everything in between.
@Raleigh
The computer isn’t the issue. Casey Muratori explains this thoroughly.
Check out this video where he shows an old version of Visual Studio from 2000 runs faster on an old computer than modern software. It’s pretty damning.
VSCode is primarily written in vanilla JavaScript, while other Electron apps often rely on major web development frameworks. That might be a big reason why.
@Mica
Absolutely. Microsoft has the resources to optimize VSCode effectively. I can’t find the article now, but it was an interview with someone from the VS Code team discussing how they switched from React to vanilla JS web components, using a library from Microsoft called fast web components.
One advantage is that it’s open source. I imagine many who contribute to VSCode also help with the Electron framework and have considerable experience with performance improvements.
Performance issues are a common critique of JavaScript, especially from those who truly care about the language. Debugging and optimization are difficult, and JavaScript is a tricky language to learn. You often need to figure out how to work around its quirks more than mastering what makes code run efficiently.
I can’t find it right now, but I remember an article when VS Code launched discussing its innovative way to load text chunks from large files without bringing in the whole file at once. I think this commitment to efficient performance and load times has been consistent throughout various updates since the project’s start.