我们有一个 Clojure 应用程序,它获取一个数据集(约 3000 行)并使用 spit 将其写入本地文件。它在编写它的机器上运行良好,但在所有其他拉下 git 代码的机器上,写入步骤非常缓慢。该过程在原始机器上需要几秒钟,但在其他机器上需要十分钟以上。
有问题的两台主要机器(开发人员的机器和我的机器)都是具有可比规格和配置的 Manjaro Arch Linux 系统。我们都从同一个 Git 源中提取,并且都提取相同的数据。
我们已经确认代码仍然在我的机器上运行,因为如果我尝试只编写数据集的前十行(即使这仍然需要将近一分钟),它就会完成。
在两台机器上的处理过程中几乎没有触及 CPU 和 RAM,并且输出文件大小小于 1 MB。
如果我们使用带有 clojure.data.csv 或 dk.ative.docjure.spreadsheet 的 Java.io 库而不是 spit,我们会遇到同样的问题。
抽象的数据形状是:
[["Name" "Price"]
["Foo Widget" 100]
["Bar Widget" 200]]
(但当然是大于 3000 行)
任何帮助表示赞赏!