簡體   English   中英

Clojure 寫文件很慢

[英]Clojure writing files slowly

我們有一個 Clojure 應用程序,它接受一個數據集(約 3000 行)並使用 spit 將其寫入本地文件。 它在編寫它的機器上運行良好,但在其他所有提取 git 代碼的機器上,寫入步驟非常緩慢。 該過程在原始機器上需要幾秒鍾,但在其他機器上則需要 10 分鍾以上。

有問題的兩台主要機器(開發人員的機器和我的機器)都是具有可比規格和配置的 Manjaro Arch Linux 系統。 我們都從同一個 Git 源中提取,並且都提取相同的數據。

我們已經確認代碼仍然在我的機器上運行,因為如果我嘗試只編寫數據集的前十行(即使這仍然需要將近一分鍾),它仍然會完成。

兩台機器在此過程中幾乎沒有觸及 CPU 和 RAM,輸出文件大小小於 1 MB。

如果我們使用帶有 clojure.data.csv 或 dk.ative.docjure.spreadsheet 而不是 spit 的 Java.io 庫,我們會遇到同樣的問題。

抽象的數據形狀是:

[["Name" "Price"]
 ["Foo Widget" 100]
 ["Bar Widget" 200]]

(但當然大於 3000 行)

任何幫助表示贊賞!

好的,所以在我們處理要共享的代碼示例時,我們從另一個來源收到了一些已解決問題的建議。

  1. 我們將讀取器更改為使用輸入流而不是讀取整個文件
  2. 正如@Reut Sharabani 所建議的那樣,我們將作者包裹在一個doall

潛在的問題似乎是每台機器如何處理懶惰

感謝所有回復的人!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM