У нас есть приложение Clojure, которое берет набор данных (~ 3000 строк) и записывает его в локальный файл, используя spit. Он отлично работает на машине, на которой он был написан, но на любой другой машине, которая выполняет код git, шаг записи мучительно медленен. Процесс занимает несколько секунд на исходном компьютере, но занимает более десяти минут на каждом другом компьютере.
Обе эти две основные машины (машина разработчика и моя) являются системами Manjaro Arch Linux с сопоставимыми характеристиками. и конфигурации. Мы оба извлекаем данные из одного и того же Git источника, и оба извлекаем одни и те же данные.
Мы подтвердили, что код все еще выполняется на моем компьютере, поскольку он завершается, если я пытаюсь написать только первые десять строк. набора данных (даже это все еще занимает почти минуту).
Процессор и ОЗУ практически не затрагиваются во время процесса на обеих машинах, а размер выходного файла меньше МБ.
У нас возникает та же проблема, если мы используем библиотеку Java .io с clojure.data.csv или dk.ative.docjure.spreadsheet вместо spit.
Абстрагированный тип данных:
[["Name" "Price"]
["Foo Widget" 100]
["Bar Widget" 200]]
(но, конечно, больше 3000 строк)
Любая помощь приветствуется!