Re: efficiently building a large list

2012-06-03 Thread Joe Bogner
Thank you. Very helpful. I was confused where the value was actually being stored. I was thinking that in my example it was being stored in the cell in the index. Then, I couldn't figure out how it retained it's value after I cleared out the index. Turns out that it actually stored it back on the

Re: efficiently building a large list

2012-06-03 Thread Alexander Burger
On Sat, Jun 02, 2012 at 06:10:05PM -0400, Joe Bogner wrote: > To be more clear, this is the call pattern that I'm referring to: > > : (for X (idx 'A) (set (car (idx 'A X)) 0)) (Sum) > ... > As you can see, clearing it before calling Sum gives the correct results. OK, so this makes sense (also the

Re: efficiently building a large list

2012-06-03 Thread Alexander Burger
Hi Joe, the core of the question is here what you actually stored in the index. Perhaps it helps if I try to explain the 'idx' structure. Each node in an 'idx' tree consists either of one (if it is a leaf node) or two (if it is an internal node) cells. The first cell holds the payload data in th

Re: Parallel command execution

2012-06-03 Thread Alexander Burger
HI Jorge, > OK, if I understood 'task' correctly this runs entirely on the 'main' > process (the one that will be accessing the database and queueing the > commands). Yes. > Looks like if the main process is busy in a very CPU-intensive task > (no IO at all) it could be missing some chances to l