本来Server部分又一次可以告一段落了,不过突然意识到似乎换种方式效率更高。
原来的架构是:需要GroupCount+1个MemoryPool +2个临界资源
Server ->ServerLogic-->SessionMan-->MemoryPool
|-->GroupMan--->Group-->MemoryPool
现在要改成:两个外部MemoryPool,不过这样把封装破坏的不成样子了, GroupCount个临界资源,好象没优化,只是查找效率提高而已,汗
Server->ServerLogic->GroupMan --->Group
| |->SessionMan
-->MemoryPools
我的天,真不想改了,不过想想还是改了效率更高
十多个类全部要改成从外部接收MemoryPool, 又想到的是MemoryPool按线程建,省掉一次访问临界资源,好先记一下
优化的自动内存管理树使用,全部加入线程安全代码。不过每树一个临界资源好象很浪费。。。
效率比较64k 用户:
1. 最优二叉是 16层
2. 查256组个组最优二叉8层 每组256计也是8层。。
最终结论是我傻子,晕死了,浪费我改了一天,还是要改回去