Hi, boyz and girlz Today I want to preset another performance optimization patch. I want to thank freghar for his huge help with changes for *nix systems We will use an opensource version of Intel Threading Building Blocks library, version 2.2 :rolleyes:
We need custom memory management, especially on Windows systems, since OS specific ones sometimes:
1) have low performance;
2) doesn't scale in multi-threaded environments.
For example, why Windows server performance can be sooo bad? Because Windows Server 2003 has ~2.5 mln memory ops/sec and Windows Server 2008 ~9.5 mln ops/sec. This is no match to Intel Memory Allocator with performance about 31(!) mln ops/sec. Each user on MaNGOS each second spawns 2500 memory ops so you can guess the maximum online on Windows Server 2003
Performance gains can differ greately through platforms used: experience from minimum +10% of performance gains on some FreeBSD platforms to +30% on Windows ones.
P.S. You should copy into your MaNGOS server binary directories 2 dlls: tbb(_debug).dll and tbbmalloc(_debug).dll under Windoz. Under *nix just copy tbb.so and tbbmalloc.so
Repo on github: http://github.com/Ambal/mangos
Branch for 3.1.3 server: master
Branch for 3.2.2 server: rebase_branch