LiteIDE 记一次 gocode 在高版本 Go 高耗 CPU 导致的 LiteIDE 卡顿

violam · 2020年03月13日 · 最后由 liyu4 回复于 2020年03月13日 · 876 次阅读

《记一次 gocode 在高版本 Go 高耗 CPU 导致的 LiteIDE 卡顿》

现象:LiteIDE 用来自动补完的组件 gocode,对 Go 1.13 及以上,CPU 动不动就上 80%,保存一下文件也能出来 40% 的 CPU 占用 先说结论: 后面发现可能是公司那个破杀毒软件 “赛门铁克” 的影响,因为在家里没出现这样的问题。

2020-05-07 再次补充解决办法: 困扰很久以后,最近又花了大半天去研究。因为 symantec 是公司的杀毒,员工只有对客户端少量的设置权限,但有一项 “例外” 菜单是能用的。 将 liteIde.exe 、gocode.exe 、go.exe 等都加到例外以后,高耗 CPU 还是存在。 后来想了一下,可能 dll 之类也受杀毒影响。 现在是把 gopath、liteide、go 等整个目录包含子目录,都加到例外里面了。 这几天问题没有再出现过,应该是已经排除了吧。 本人现在用的是 go 1.13.4 和 LiteIDE x37.1。偶尔有自动完成不能出来的时候重新打开 LiteIDE 一般都会好。

关于 gopls: gopls 在 VS CODE 死活没有成功。即使更新到了最新版本。

20200314 更新: 周末回在家里做事,然后发现家里用的是 Go 1.13.8 ,LiteIDE 为 x36.3 ,并没有出现问题。有点困惑,可能还是跟公司的赛门铁克杀毒有很大关系,但是 gocode 印发问题是确定的。

(旧贴内容:) 现象和过程: 电脑 CPU i5,使用 LiteIDE 好几年了。但是最近两周,LiteIDE 用起来非常卡顿,监测 CPU 经常能录得 LiteIDE 在 20% 多,以及 gocode 经常占用 CPU 50%,85% 等。 开始以为是公司杀毒软件问题,后来做了各种排除扫描无果。 又以为是软件版本有问题,于是从 Go 1.13 升级到 Go 1.14 ,以及 LiteIDE 升级到 x36.3,然后还是卡。 百思不得其解,百度搜索相关过程中,发现了有人提到 gopls 是 vscode 的另一种自动完成方案,然后吐槽 gocode 已经不维护了,并且在 GO 升级后开了 mod 以后也是爆卡。 然后才想起卡顿的开始时间点,跟我把 Go 从 1.12 升级到 1.13 正好吻合。

解决: 退回到 Go 1.12,用了 LiteIDE x36.1 后超高 CPU 的问题消失。(LiteIDE 有可能是不用退回旧版本,未证实。因为问题是 gocode)

遗留问题: LiteIDE 是个很好用的开源软件,但是依赖的 gocode 已经力不从心了。估计后面要看看是否用 gopls 来做补完方案。

更多原创文章干货分享,请关注公众号
  • 加微信实战群请加微信(注明:实战群):gocnio

开了 mod 之后, vscode 也时不时卡一下

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册