解决方案 »
- 俄罗斯方块方块更新以及落下固定的问题,跪求各位高手给解决一下,小弟毕业设计,马上答辩!很急急急急急啊
- java byte范围大于127,socket传送给c#,c#中byte怎么获得?
- sycronized 问题,同一个程序两个结果?
- 连接mysql的问题,一个模拟登陆验证的界面
- 学习问题请教
- jbuilder中在一个工程中加入一个web module,在src中的java编译后可以自动copy到web-inf\classes目录下,但是src下的xml文件和properties
- 在j2me中使用序列化
- 〓★〓发布最新的CSDN浏览器(完全免费)〓★〓
- 输入任意M个正整数,要求输出N个最大值
- 关于Java中final的问题
- java初学者,求教!
- 关于Process中的getOutputStream
但是感觉你相同的积分应该比较密集 或者说你用Map的话 积分做Key 可能导致map里某些value的list贴别长 猜测系统整体符合正态分布 所以你中间端的value应该会比较大
所以你可以考虑再采用其他的key 而不单纯是一个积分
另外你从800-1200取值只是为了random数组 拼凑出来一个域 这个没必要取完list再做random 可以遍取编做random 最后取完了直接形成一个域返回
但感觉数据不是很大啊 java做这个应该不是瓶颈啊
现在你这个APP上线了? 这部分返回结果不是很快?
我只是觉得从 800到1200这种区间内去取值的时候, 要循环400次.. 而且其中还有可能是空值(即这个积分没有玩家)... 我现在优化了一下下.. 就是先从800到1200 这个段内随机取出 几个 积分.. 然后再根据这几个积分..去map中取list.. 然后再像你说的那样边取list边从里面随机几个数据汇总...
但感觉我这个结构... 优化的空间好像还挺大的...... 担心上线的时候性能出问题....
就循环100万次
map根据你们线上的情况 将800-1200之间设定一个比较大的值 然后跑100万或1000万次看看performance
如果很慢 再改 不慢的话(比如一个匹配操作也就不到100微妙,这样的话你并发能支持1W个同时匹配) 如果能满足需求 就不改了呗
一切不成熟的优化 都是万恶之源目前还没上线.... 因为是在线数据打离线数据.. 所以数据量会越来越大的...
我只是觉得从 800到1200这种区间内去取值的时候, 要循环400次.. 而且其中还有可能是空值(即这个积分没有玩家)... 我现在优化了一下下.. 就是先从800到1200 这个段内随机取出 几个 积分.. 然后再根据这几个积分..去map中取list.. 然后再像你说的那样边取list边从里面随机几个数据汇总...
但感觉我这个结构... 优化的空间好像还挺大的...... 担心上线的时候性能出问题....
虽然游戏服务器写了不少.. 但是这个系统还是第一次写... 心里没谱... 目前还没上线.... 因为是在线数据打离线数据.. 所以数据量会越来越大的...
我只是觉得从 800到1200这种区间内去取值的时候, 要循环400次.. 而且其中还有可能是空值(即这个积分没有玩家)... 我现在优化了一下下.. 就是先从800到1200 这个段内随机取出 几个 积分.. 然后再根据这几个积分..去map中取list.. 然后再像你说的那样边取list边从里面随机几个数据汇总...
但感觉我这个结构... 优化的空间好像还挺大的...... 担心上线的时候性能出问题....
见过一些项目 都是过早介入调优后 然后失败了
因为一些看起来复杂度很低的算法 往往又挂着一个很大的常熟 所以尽量有针对性的调优