I would appreciate hearing experiences with ultra large memory LISP applications on relatively inexpensive hardware (e.g., one of the many commodity Intel based servers with 4 gig of RAM). I understand that there are patches to Linux that allow 4 gigs per process; has anyone tried working with Franz, CMU, etc. using 4 gig heaps? Larger heaps?
Joachim Achtzehnter wrote: > With Franz Allegro things get tricky once heap sizes grow to a size > of the order of 1 Gb, especially when you are using foreign > functions.
[ACL FAQ reference elided]
Am I right when I think that it does not imply that other implementations like LW or CMUCL do not have very similar constraints, but rather that those limitations are not explained?
Also, reading the ACL explanation, it seems that much, if not all of the limitation comes from the operating system. What do multi-processor systems do with 4GB, if those limitations are indeed those of the OS? Has anyone used CL on a 64-bit address space? Someone mentioned a version of CMUCL on Alpha. Maybe Lisp vendors aregoing after Itanium if it turns out to be successful.
> I would appreciate hearing experiences with ultra large memory LISP > applications on relatively inexpensive hardware (e.g., one of the > many commodity Intel based servers with 4 gig of RAM). has anyone > tried working with Franz, CMU, etc. using 4 gig heaps? Larger heaps?
With Franz Allegro things get tricky once heap sizes grow to a size of the order of 1 Gb, especially when you are using foreign functions. You have to fiddle with loading things in a certain order ad other tricks. See
which is SORTED in ascending order by the first element of each pair. Now, what I would like to do is replace each subset set of pairs with the same first element and replace then with just one pair with the same first element, whose second element is the sum of all the second elements of those pairs that have the same first element, so I get:
((1 6) (4 2) etc... )
What is an elegant way to do this? Any tips would be greatly appreciated!
* Philip Nikolayev <niko...@is02.fas.harvard.edu> | If I wanted to replace all the whole reals, such as 3.0, in a list with | their integer equivalents, while leaving all the other reals intact, is | there an easy way to do this?
consider a function f that accepts a number and returns the corresponding integer if the number satisfies a predicate whole-real-p, or the number unchanged if not. apply this function to every element of the list with a suitable mapping function. you don't want this operation to destroy the original list of values.
In article <noru2iovq9h.fsf...@is01.fas.harvard.edu>, Philip Nikolayev <niko...@is01.fas.harvard.edu> wrote:
>If I use throw and catch in a recursive function, which the throw go >to the catch in the first call to the function? Or not, and then >where?
From both CLTL2 and the Hyperspec: "The most recent outstanding catch ....".
-- Barry Margolin, bar...@bbnplanet.com GTE Internetworking, Powered by BBN, Burlington, MA *** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups. Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.