我们有一个Clojure应用程序,它使用spit将数据集(~3000行)写入本地文件。它在编写代码的机器上运行得很好,但是在每台拉取git代码的其他机器上,写入步骤非常缓慢。该进程在原始机器上只需要几秒钟,但在其他机器上需要十多分钟。
问题主要出现在两台主要的机器上(开发者的机器和我的机器),它们都是Manjaro Arch Linux系统,具有相似的规格和配置。我们都从相同的Git源中拉取并且使用相同的数据。
如果我尝试仅写入数据集的前10行,代码仍在我的机器上运行完毕(即使这也需要近一分钟的时间),我们已确认代码在我的机器上仍然可用。
在这个过程中,两台机器的CPU和RAM几乎没有受到影响,并且输出文件大小不到1 MB。
如果我们使用Java.io库与clojure.data.csv或dk.ative.docjure.spreadsheet而不是spit,我们会遇到同样的问题。
数据的抽象形状为:
问题主要出现在两台主要的机器上(开发者的机器和我的机器),它们都是Manjaro Arch Linux系统,具有相似的规格和配置。我们都从相同的Git源中拉取并且使用相同的数据。
如果我尝试仅写入数据集的前10行,代码仍在我的机器上运行完毕(即使这也需要近一分钟的时间),我们已确认代码在我的机器上仍然可用。
在这个过程中,两台机器的CPU和RAM几乎没有受到影响,并且输出文件大小不到1 MB。
如果我们使用Java.io库与clojure.data.csv或dk.ative.docjure.spreadsheet而不是spit,我们会遇到同样的问题。
数据的抽象形状为:
[["Name" "Price"]
["Foo Widget" 100]
["Bar Widget" 200]]
(但是当然大于3000行)
非常感谢您的帮助!
cp
)来复制数据并查看是否仍然存在显着差异?这可以帮助验证它是否与Clojure相关还是更低级别的问题。 - Reut Sharabani