thegrumpys / odop

Open Design Optimization Platform (ODOP) - Coil spring design app; mechanical springs; compression spring, extension spring, torsion spring
https://www.springdesignsoftware.org
MIT License
4 stars 5 forks source link

Memory requirements for Search & Seek #829

Open grumpyinca opened 1 year ago

grumpyinca commented 1 year ago

Testing in branch #828 has highlighted memory requirements for long Search and Seek operations with extension springs.

I used Windows Task Manager to focus on Edge memory utilization of the system. I noted that the Memory-in-use value changes dynamically and is only loosely connected to user input. When the system was first launched, I observed 77.1 MB. Before loading the extension spring model: 49.3 MB. After loading the extension spring model: 92.6 MB. When running the final Seek of the usage_log_18Mar23debug.txt test case (See #828), the Memory-in-use value continuously increased until it reached a peak greater than 1,961 MB. After several user inputs (Fix, Search, etc.) the Memory-in-use value dropped to a number in the 400's.

Screen captures: MemoryScreenCap828.zip

Is it possible that FDCL is a contributing factor here ? Is it possible to reduce memory requirements or release it more quickly ?

1fifoto commented 1 year ago

Check out: https://developer.chrome.com/docs/devtools/memory-problems/ About Garbage Collection: https://jayconrod.com/posts/55/a-tour-of-v8-garbage-collection

grumpyinca commented 1 year ago

I ran a few tests using the v4.3.3 production system on a virtual machine limited to 3072 MB. The test case provided in #828 ran successfully. Note that this is the case where the development system running in a virtual machine limited to 10240 MB failed with an out-of-memory error.

I conclude that while memory requirements for Search & Seek on extension springs with default FDCL settings should be further investigated, there is not an immediate problem impacting production usage of the system.