Fork me on GitHub
#clojure-italy
<
2019-05-20
>
manuel07:05:49

buon lunedì, eh 🙂

Andrea Imparato15:05:04

buongiuorno, qualcuno può spiegarmi perchè count è lentissimo su set di un migliaio di elementi?

bronsa15:05:49

non lo e`, e` O(1)

Andrea Imparato15:05:13

infatti ho googlato dopo aver scritto la cazzata 🙂

Andrea Imparato15:05:16

hmm strano quindi

Andrea Imparato15:05:09

potrebbe essere che questo set sia un atom e che qualche thread ha ancora il lock e non lo ha mai rilasciato? :thinking_face:

bronsa15:05:13

un deref da un atom e` O(1) e lock-free

Andrea Imparato15:05:43

(swap! to-insert concat to-insert-data)
      (swap! to-update concat to-update-data)
      (println (count @to-insert) " " (count @to-update))
Il tutto dentro una funzione che wrappo in una future

Andrea Imparato15:05:54

non mi sembra niente di sbagliato 😕

bronsa15:05:03

concat ritorna una seq

Andrea Imparato15:05:24

ah! devo usare union allora

Andrea Imparato15:05:57

ho scoperto l’arcano, avevo creato una variable locale count 😄