我们有一个Clojure应用程序,它使用一个数据集(约3000行),并使用spit将其写入本地文件。它在编写它的机器上运行良好,但是在拉下git代码的每台其他机器上,编写步骤都非常缓慢。在原始计算机上,此过程需要几秒钟,而在其他计算机上,该过程可能需要十分钟以上。
有问题的两台主要机器(开发人员的机器和我的机器)都是具有相同规格和配置的Manjaro Arch Linux系统。我们都从同一个Git源中提取数据,并且都提取相同的数据。
我们已经确认代码仍然可以在我的机器上运行,因为如果我尝试只写数据集的前十行(即使仍然需要将近一分钟的时间),它仍然可以完成。
在两台计算机上的处理过程中几乎都未触及CPU和RAM,并且输出文件大小小于MB。
如果将Java.io库与clojure.data.csv或dk.ative.docjure.spreadsheet一起使用,而不是随地吐痰,则会遇到相同的问题。
抽象的数据形状是:
[["Name" "Price"]
["Foo Widget" 100]
["Bar Widget" 200]]
(但当然大于3000行)
感谢您的任何帮助!
好,因此,当我们在研究代码示例以进行共享时,我们收到了来自其他来源的解决问题的一些建议。
doall
中>基本问题似乎是每台计算机如何处理懒惰
感谢大家的回应!