curiosity-ai / h5

🚀 The next generation C# to JavaScript compiler

Home Page:https://h5.rocks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Extremely high RAM consumption in solution with multiple H5 projects.

opened this issue · comments

If H5 needs to build a lot of projects for some reason it opens a lot of console windows, which all are closed except one.

That single process will do all work, but on opening H5 windows system eats a lot of RAM (40GB):

image

When the building continues it reduced as approximately to 20 GB. It is bigger than it was with Bridge maybe for 30%, but it is acceptable.
Though 40 GB peaks are not good of course. It means that common PC with 32 GB cannot be used for comfort work on middle and big projects.

image

Mentioned solution has nine H5 projects inside. Some of them are really small. But it does not impact consumption, only projects count.

Unfortunately building time is also dramatically increased in comparison with Bridge - 30 seconds vs 2 minutes

It eats around 2 GB for H5 sever during building on Linux:

image

And after all that I tested Windows 11:

image

It looks like it does some memory leaks in Paded and Not Paged Pools. But I do not have any glue what is the reason yet.

Though I can say once again that targeting net7.0 and skipping support of NET 6 which is LTS release was a bad idea.

As workaround it is possible to set environment variable DOTNET_EnableWriteXorExecute=0 to solve the issue.