部落格好读版: https://bit.ly/golang-tool
投影片线上看: https://bit.ly/golang-tool-slide
这次很高兴能到高雄 mopcon 给一场演讲‘善用 Go 语言效能测试工具来提升执行效率’
投影片在上面连结,底下纪录会后一些朋友的意见跟问题?
为什么要从 Python 到 Golang?
第一版 Python 由同事进行开发,这个版本也在公司内部运作了很久,也很少改版,而这
次遇到效能上的问题,加上要搭配 AI,故我先拿 Golang 进行第一次的改版,方式还是
使用 Regex,把整个逻辑换掉,也优化不少 Regex,效能提升不少。而至于为什么要用
Go 而不是用 Python 原因是当下对于 Go 比较熟悉,也想尝试看看用 Go 能提升多少效
能,并非 Python 不好,考虑到团队目前的技能树,加上在自家 IT 环境内,用 Go 可以
编译出单一执行档给同仁使用,相对 Python 来说是方便许多。在公司内部有些特定的环
境是完全没有网络了的,这时候用 Go 搭配 vendor 就可以无痛在该环境编译,这点是
Go 非常强大的地方。
为什么会想重写 Parser?
后来用 Go 改写的 Regex 版本,从原本的 9xx 秒降到 7 秒多,已经提升了不少,接下
来要再往下继续调整,估计也已经没多少空间了,加上此版本对于更大的档案量,1 GB
以上资料量,还是需要用掉不少系统资源,故我花了一周下班时间,重新改写 Parser,
最主要要验证从 7 秒多可以降到几秒呢?后来事实证明可以从 7 秒多降到 1 秒左右,
整体来说提升了不少,也让其他同仁在使用 Parser 的时候,从原本需要 400 台机器,
降到不到 5 台。省下不少公司的资源,这些资源又可以去处理更多事情了。