同样一个文件(几百上千行),同样的终端类型(dumb),在 eshell 里 cat
一下瞬间就显示完了,而 geiser 里 (system "cat xxx")
却让人感觉很卡。问题出在哪?
换个后端,比如chez?
我记得mit-scheme这个后端很卡,run-geiser都很慢
大概率是 Geiser 跟 Scheme 之间数据交互的瓶颈,如果要你来实现,跟直接 IO (就是读写个文件)不同的是,你得:
- 可能需要编码解码
- 需要确认数据有没有完整接收到,而且 Scheme 可能需要等待 Emacs 报告收到了,才能开始下一次发送
找到问题,肯定有解决的方法。