Hi Aviad,

Disclaimer: I haven't read the book, nor do I know Clojure very well.

However, based on your question (which I did read) and Brenton's hint, it seems 
to me like the solution will involve a lazy sequence, which is a frequent tool 
to use whenever you're dealing with a problems that involve a lot of memory.

- Greg

On Feb 10, 2010, at 10:13 AM, Aviad Reich wrote:

> thank you.
> I have "-server" and "-Xmx1024m" set in my 'swank-clojure-extra-vm-args, but 
> the problem remains.
> 
> Aviad
> 
> 
> 
> On 10 February 2010 15:57, Joop Kiefte <iko...@gmail.com> wrote:
> (Disclaimer: never tried myself)
> http://hausheer.osola.com/docs/5
> 
> 2010/2/10 Aviad R <avi....@gmail.com>
> 
> Hi all.
> 
> I'm trying to learn clojure with the excellent "Programming Clojure"
> and projecteuler.net. I am encountering the java heap space error, and
> can't find a workaround, nor a smarter way to write my code (which I
> am certain exist).
> 
> Trying to solve Problem 14 (some spoilers might be ahead, for those
> wanting to solve it in the future).
> 
> The problem and my code are in https://pastee.org/hj3sh
> 
> here is the problem:
> I am trying to produce a map of one O(million) key-value pairs using a
> recursive function.
> 
> I can produce a map of the first 100000 numbers in ~1300 msecs, with
> 217211 keys.
> However, for 150000 and up, I get java.lang.OutOfMemoryError: Java
> heap space.
> 
> so, I assume my code is ok on efficiency, but the recursion is too
> deep.
> 
> am I right? can anyone suggest a way to overcome this problem?
> any additional tips and thoughts on the code would be of great help to
> me, as I am making my first steps in clojure.
> 
> Thank you,
> Aviad
> 
> --
> 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
> 
> 
> 
> -- 
> Communication is essential. So we need decent tools when communication is 
> lacking, when language capability is hard to acquire...
> 
> - http://esperanto.net  - http://esperanto-jongeren.nl
> 
> Linux-user #496644 (http://counter.li.org) - first touch of linux in 2004
> 
> -- 
> 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 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 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

Reply via email to