247
Working in VS Code on larger projects seems to eat a lot of CPU and Memory, even when following the recommended settings by Microsoft. We often find CPU reaching 100% and memory running over 10 Gb while opening AL projects and working with AL files, forcing us to reload / re-open VS Code frequently.

Microsoft is exploring adding some configuration settings that will allow us to trade responsiveness for lower CPU usage. (see https://github.com/microsoft/AL/issues/5407#issuecomment-552383258)

Please upvote this idea to have an overall faster Development Experience in VS Code.
Category: Development
STATUS DETAILS
Under Review
Ideas Administrator

Thank you for your feedback. We are continuously trying to optimize the VS Code performance when authoring and deploying AL extensions. The most significant impact is to limit working with large monolithic solutions, avoiding loading and compiling all objects in memory. This require componentization of the base application as well as custom solutions over the coming years. 

Your help is greatly appreciated,
Business Central Team

Comments

F

Hi! This will most likely NOT be improving just by avoiding monolithic architectures. The performance degradation happens just the same in a multi-root workspace with multiple extensions in it. We had one support call already the performance was so bad. Not much achieved, though.

By the way, it is not just performance. Also when changing branches (with or without a workspace) or changing the current extension in a workspace will also lead to misleading and wrong CodeAnalyzer output. And here also the only way to fix it is to do a reload or reopen.

To me the way the AL extension handles code analysis and tries to keep all in memory with no way to influence when it starts and stops to run is to blame. Add to that the fact that VS Code is a glorified browser swamping Your RAM just like any web app does ...

Category: Development

F

The same applies for the publishing process.
https://github.com/microsoft/AL/issues/5475

Category: Development