版权声明
MIT协议
本文讨论的是游戏开发中通用的导表工具,不涉及任何具体项目。起因虽是工作中极慢的python导表工具让我不满,但我写这个代码均在业余时间,在家里所写。并赠送给工作项目使用。以便提升团队效率。
故本工具不涉及任何保密协议,不涉及任何组织。个人所有。
现将本工具代码开源,以便大家使用。
起因和思路
一般游戏公司都使用excel作为配置数据文件。游戏程序当然无法识别,一般都有老程序员写的导表工具。一般都是python,因为环境方便,写起来也爽。特别是工具类。 但是总所周知python有GIL锁,再牛也是单核。游戏配置数据多了,随便改个导出来生效要几分钟。简直忍不了啊!
我灵机一动,go拿来写导表更具简直太美了!go程带来的极强并发多核能力,以及go的struct全是值类型。双重加速啊!(虽然C++更快,但难写好,特别是高并发更难写。自己徒手撸一个,指不定还不如go快,go安全。再说了,我也不怎么会C++😉😉😉)
最终效果
先说结论,最后是快了接近60倍!从几分钟变成3秒搞定。有理由怀疑,目前瓶颈是硬盘的读取速度。而不是CPU。换个固态会更快,但3秒已经非常快了!再优化也没多大意义。
资源下载
必选
配置文件
导表前需要配置导出到哪个目录,英文名叫什么。必须下载和拥有。和go放在同个目录
以下二选一
go源码
需要自己安装go环境,并配置调用的库。
exe可执行文件(推荐)
双击点开就用,但因为该工具要读写文件,调用了系统库。可能会被杀毒软件误杀。请自行判断。