Tôi đang thực hiện các hoạt động yếu tố khôn ngoan trên hai vectơ theo thứ tự 50.000 kích thước phần tử và có các vấn đề về hiệu suất không đạt yêu cầu (vài giây). Có bất kỳ vấn đề hiệu suất rõ ràng được thực hiện, chẳng hạn như sử dụng một cấu trúc dữ liệu khác nhau?Hiệu suất Clojure, vòng lặp lớn trên các vectơ lớn
(defn boolean-compare
"Sum up 1s if matching 0 otherwise"
[proposal-img data-img]
(sum
(map
#(Math/abs (- (first %) (second %)))
(partition 2 (interleave proposal-img data-img)))))
Ví dụ về mảng-fiddling (w/o kiểm tra cùng độ dài) để sử dụng trên 'int-array's:' (defn xor-sum [^ ints xs,^ints ys] (areduce xs i ret (int 0) (bỏ chọn-thêm ret (bit-xor (aget xs i) (aget ys i))))) ' ' –