|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0006329||Spring engine||Lua||public||2019-11-09 01:17||2019-11-11 22:17|
|Product Version||104.0 +git|
|Target Version||Fixed in Version||104.0 +git|
|Summary||0006329: Increase maxAllocedBytes for lua|
|Description||Currently, into very long and large team games (1h+, 12v12+), lua GC pressure is a source of noticeable difference in performance between the 32bit and 64bit spring engine versions. The 64bit version takes up much more memory, presumably due to higher word/pointer sizes.|
It would be nice if the memory spring is willing to allocate for 64bit could be doubled to compensate, or perhaps be made configurable.
|Additional Information||As far as I can tell, maxAllocedBytes is referenced in exactly four lines:|
- Its definition
- A debugging function displaying usage
- The check during allocation determining whether to force a GC check/disable luaui/hard crash
- Computing the GC pressure ratio deciding whether to perform idle GC
If so, the variable could potentially be changed from constexpr to dynamic, or even increased to a 64bit variable for people with a lot of RAM on 64bit. Long term, I'm not sure what the ideal interface would look like, whether that's a value LuaMenu can change, a value that can be read from springsettings.cfg, or some other approach.
|Tags||No tags attached.|
|Checked infolog.txt for Errors||Irrelevant|
|I have done a little testing with win64 and the performance appears to be worse than win32. The amount of lua memory allocated in win64 is significantly higher than is normal for win32, so raising the memory limit for win64 makes sense and may allow for more a more realistic performance comparison.|
doubling the limit for spring64 builds is reasonable (and has been done in 1437+), making it configurable not so much. 1500MB of Lua memory allows for quite enough insanity.
I'll also take this opportunity to remind everyone about the existence of UseLuaMemPools (forcibly disabled in ZK) regarding performance and fragmentation concerns.
|2019-11-09 01:17||esainane||New Issue|
|2019-11-11 02:18||Google_Frog||Note Added: 0020212|
|2019-11-11 22:17||Kloot||Assigned To||=> Kloot|
|2019-11-11 22:17||Kloot||Status||new => resolved|
|2019-11-11 22:17||Kloot||Resolution||open => fixed|
|2019-11-11 22:17||Kloot||Fixed in Version||=> 104.0 +git|
|2019-11-11 22:17||Kloot||Note Added: 0020217|