-
-
Notifications
You must be signed in to change notification settings - Fork 502
Make single link node pool unlimited #3986
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make single link node pool unlimited #3986
Conversation
23eaf01 to
31c5d72
Compare
|
Okay, I see that memory pieces have to be persistent and we cannot use swap and pop ideom here. |
This crash is exceedingly rare on MTA (measured by the latest build with a high spread; crash stats) so to judge the PR's feasability it would be good to know if it's worth it, as in: are there no negative/side effects at play, like a global increase of RAM usage as the pool allocates more? Is it dynamically expanding and going back down depending on a servers' usage of map and buildings, so that as long the usage isn't huge, there are no negative effects? In the latter case it wouldn't be too bad to have it in. If it has no negative effects, proportionality to what it aims to fix isn't a thing. @TheNormalnij If you could please make a list of any effects you expect from this change? |
This crash is rare because developers use createObjects instead of createBuilding when their map crashes. The pool implementation is very universal. I plan to use it in future fixes too. |
Pirulax
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel like that a traditional linked list of these "part"s would be better than having a vector of them, especially when allocating a free-list is much better in terms of performance than a basically O(N) lookup.
The performance cost for allocating |
|
The |
|
Note for future investigation: This may have introduced a crash, see https://i.imgur.com/Or8lDDi.png for details I couldn't gather much from a quick look - but the crash occurs in this code. |
Fixes crash with offset 0x00133606.
The crash related to the high density of buildings.