You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Arma use of callExtension is a blocking call.
So we know that there will only be one thread at a time ever calling RVExtension.
Therefore you can optimize the callExtension by using allocating afew variables on the stack instead of allocating / deallocating on the heap all the time (in your callExtension function).
Basically stop allocating on the heap were you don't need to.
All the async threading is done by creating new threads & detaching them.
Creating Threads is overhead and costly, you should be re-using threads think worker thread pool.
There afew other things i saw, but the above are the main things.
The text was updated successfully, but these errors were encountered:
Just glanced over the code quickly, afew tips
Use DLL_PROCESS_ATTACH instead of doing an IF NULL check every time there is a callExtension.
https://github.com/EpochModTeam/EpochServer/blob/master/src/dllmain.cpp
Arma use of callExtension is a blocking call.
So we know that there will only be one thread at a time ever calling RVExtension.
Therefore you can optimize the callExtension by using allocating afew variables on the stack instead of allocating / deallocating on the heap all the time (in your callExtension function).
Basically stop allocating on the heap were you don't need to.
All the async threading is done by creating new threads & detaching them.
Creating Threads is overhead and costly, you should be re-using threads think worker thread pool.
There afew other things i saw, but the above are the main things.
The text was updated successfully, but these errors were encountered: