美文网首页
工作小结(四)

工作小结(四)

作者: fooboo | 来源:发表于2018-05-01 11:39 被阅读40次

准备每三个月进行一次工作总结,并总结下除工作外做了些什么事情,以及收获有哪些。
从过年回来到现在差不多有三个月,工作方面主要是做了PVP/PVE玩法实现,机器人和匹配基础系统,掉落和其他xxx系统,以及副本相关的通用系统,然后又优化了一些底层框架,比如GetFromxxxt和Getxxx调用,因为对于lua来说,通过table+元表的方式查找一个元素,可能会进行多次,原来的实现获取一个数,比如从table中获取某个key(GameDataMap)的索引为key1(pvp)的元素,原来实现大概是:GetFromGameDataMap(pvp),这样一个调用涉及了三次函数调用和两次判断:一次本身的调用,如果没有找到,那么rawget或rawset,然后获取到GameDataMap的table,然后再rawget的key1,然后再判断,最后返回;逻辑只是想找一个数来处理,但是实现却比较复杂,如果一个场景中来个一百个玩家和几百来只怪,由于场景中是随时随地进行PK的,那么可能造成很大的计算资源浪费,后来我做的优化主要是在创建entity时先缓存这个GameDataMap table的引用地址,因为这个table在这个entity的生存到消失前,(地址)是不会变的,所以这么做:self.__cacheGameDataMap = self:GetGameDataMap(),那么这样每次获取少了三次函数调用,和两次判断,这样性能得到了比较大的提高。当然代码中还有类似的使用,都进行了一次优化。

对于有些玩法,当人数不够时,需要上机器人,怎么去选择机器人和匹配玩家,这里面还是有很大的文章可以作,毕竟和各方面相近的“玩家”一起战斗比较有意思些,不然很容易被秒。这方面其实还是要多思考,毕竟一个服同时在线最多也就几千人,所以匹配系统也挺好实现的,量不大,关键是以哪些因素去划分,这方面可以思考下。

其它的没什么难度,纯粹堆逻辑,多则一两千行代码可实现。但是在测试自己实现的功能时,也发现了一些其他同事功能的bug,有几个难以发现的且需要在特定操作下才能触发的,感觉还是要多测试。

工作之外就是学习了四个开源的项目和沉淀了几篇文章:主要是pink/floyd/libco/phxrpc这几个源码,每个代码量不多,但是实现却蛮溜的,也去复习了下汇编和c++11的一些并发知识,重点是内存模型,也看了下ucontext和四个函数的源码实现。从中更好的掌握了如何使用多线程和协程去实现一个高并发的服务,包括epoll+timer的使用,怎么管理资源,任务队列和Raft相关的实现等,可能以前知道epoll的实现原理,怎么实现网络框架,知道多线程怎么用,知道socket相关的函数,read时发生什么,以及底层原理,但是如何高效的使用却还是需要多实践(可能有些业务没有机会用到)和看代码,原理掌握了,看这些开源项目的设计也比较容易些。

接下来的两三个月,准备把tbsys/LevelDB的基础代码分析一下,后者网上资料蛮多的,tbsys是淘宝多隆写的代码,感觉还蛮有学习的价值。
也准备看下(多线程中)锁的性能优化这些,上月初看到阿里资深技术专家在微博说的如何优化读写锁,把读锁升级为写锁等,也下载了那篇论文和源码实现,然后再分析下dpdk中锁的相关实现,会一起写篇博客,分析一下吧。

相关文章

  • 工作小结(四)

    准备每三个月进行一次工作总结,并总结下除工作外做了些什么事情,以及收获有哪些。从过年回来到现在差不多有三个月,工作...

  • 禅绕画21天-一图多变-D04-阴影shading

    前四天小结:

  • 四月工作小结

    很荣幸四月份成为了不出局85班阅读小组的值月组长,在为大家服务的一个月里对于007有了更全面的认识,也熟悉了整个不...

  • 第四周工作小结

    市委统战部驻长塘社区联络组第四周工作小结 (3月22日至3月28日) 本周,联络组一手助抗疫,一手促发展,并按照要...

  • 23 工作学习小结318四

    23 3月18 周四 发现自己一刻停不下来。不做点事感觉不自在。偶尔可能休息一下。但是主要都在安排事情。一生劳碌的...

  • 34 工作学习小结401四

    34/100 4月1日 周四 清明节回家了一趟,一个是扫墓,再一个是个人事情。这三天没有怎么写小结,昨天回到工作...

  • 16 工作学习小结311 四

    16/100 3月11 周四 今天去市图书馆还书,到期了。然后又借了几本。说是借一些专业类书籍,最后还是拿了文学...

  • 轮职主管工作小结

    轮岗主管工作小结 ...

  • 工作小结

    跟踪了几个月的客户,今天终于有了实质性的进展。把近期工作小结一下: 1、以产品为中心改为以客户需求为导向。你的产品...

  • 工作小结

    从刚开始的职工对抗甚至谩骂。到听听再说。到相互交流。到对我的思路认可。我用了近六十天时间。想把几百号职工整合到一个...

网友评论

      本文标题:工作小结(四)

      本文链接:https://www.haomeiwen.com/subject/csexrftx.html