The java overhead for Strings is incredible. Even moderate-sized input 
files will consume all memory. Are there good existing solutions?

I found iota, which looks like a good solution for the read portion of the 
problem. However I also need to process the data in the file. If I start 
with an iota/vec and need to sort it, something like

(sort (iota/vec "foo"))

will end up building Strings, again. The memory usage is absurd. It's also 
possible to use iota's random-access support instead of converting the 
whole collection to Strings, like

(def f (iota/vec "foo"))
(sort (fn [i j] (compare (nth f i) (nth f j))) (into [] (range (count 
f))))) 

to return a list of row indexes in sorted order. But this is painfully 
slow. iota doesn't appear to provide a solution for efficient storage of 
transformed collections of strings. Are there other libraries, or standard 
java techniques for dealing with this?

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to