के साथ प्रदर्शन समस्या कोड का यह टुकड़ा बहुत धीमा है। मेरी नेटबुक पर कीचड़-प्रतिलिपि से निष्पादन में कुछ मिनट लगते हैं।क्लोजर ऐरे
(def test-array (make-array Integer/TYPE 400 400 3))
(doseq [x (range 400), y (range 400), z (range 3)]
(aset test-array x y z 0))
इसके विपरीत, इस कोड को वास्तव में तेज़ी से चलता है:
(def max-one (apply max (map (fn [w] (apply max (map #(first %) w))) test-array)))
(def max-two (apply max (map (fn [w] (apply max (map #(second %) w))) test-array)))
(def max-three (apply max (map (fn [w] (apply max (map #(last %) w))) test-array)))
इस chunked दृश्यों के साथ कुछ है? क्या मेरा पहला उदाहरण सिर्फ गलत लिखा गया है?
लिंक के लिए धन्यवाद। मैंने सोचा कि यह प्रतिबिंब हो सकता है, लेकिन मुझे कोई प्रतिबिंब चेतावनी नहीं मिल रही है? कोई विचार क्यों नहीं? – dbyrne
स्पष्ट रूप से '* चेतावनी-प्रति-प्रतिबिंब * हमेशा पूरी कहानी नहीं बताता है ... यह भी देखें http://clj-me.cgrand.net/2009/08/06/what-warn-on-reflection- क्लोजर 1.2 के साथ आपको बताए गए एरे/ –
आपको एरे पर अधिक प्रतिबिंब चेतावनियां मिलनी चाहिए। – cgrand