Sven- On Jan 26, 2007, at 6:45 PM, [EMAIL PROTECTED] wrote:
> I see no runtime difference. Just to be sure: > I produce the heap in this way: >> echo "(require 'srfi-0) (require 'srfi-2) (require 'srfi-8) >> (require 'srfi-9) (load \"nallla.fasl\") (display-memstats >> (memstats))" | memtime larceny -load 4 -size1 16M -size2 32M - >> size3 512M -reorganize-and-dump > I run it like this: >> echo "(require 'srfi-0) (require 'srfi-2) (require 'srfi-8) >> (require 'srfi-9) (load \"nallla.fasl\") (display-memstats >> (memstats))" | memtime larceny -load 4 -size1 16M -size2 32M - >> size3 512M -heap larceny.heap.split -- -q 0 > > Is this correct? Those steps above are not going to do the job, because when you pass larceny the -reorganize-and-dump option, it does not bring up a REPL; it just loads the heap (which will be the default larceny.heap in your case) and makes a split version of it, which means that the expressions you are piping to larceny in your first command are just being discarded. The larceny.heap is already split, so I think your first command above just makes a copy of the larceny.heap named larceny.heap.split. You need an extra step in there where you dump an intermediate heap with your code in it from a running larceny (using the dump- interacitve-heap procedure). Using the dump-interactive-heap procedure requires running larceny with the -stopcopy option (because we do not support heap dumping with the generational collectors). Here is an example usage: % larceny -stopcopy Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:28:22, precise:Linux:unified) > (define (fib n) (case n ((0 1) 1) (else (+ (fib (- n 1)) (fib (- n 2)))))) fib > (dump-interactive-heap "fib.heap") ; Dumping heap... ; Done. > (exit) % larceny -heap fib.heap Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:28:22, precise:Linux:unified) > (time (fib 35)) Words allocated: 0 Words reclaimed: 0 Elapsed time...: 506 ms (User: 504 ms; System: 0 ms) Elapsed GC time: 0 ms (CPU: 0 in 0 collections.) 14930352 > (exit) % larceny -heap fib.heap -reorganize-and-dump Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:28:22, precise:Linux:unified) Reorganizing. Data: 1519616 bytes, Text: 3076096 bytes Dumping "fib.heap.split". % larceny -heap fib.heap.split Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:28:22, precise:Linux:unified) > (time (fib 35)) Words allocated: 0 Words reclaimed: 0 Elapsed time...: 518 ms (User: 520 ms; System: 0 ms) Elapsed GC time: 0 ms (CPU: 0 in 0 collections.) 14930352 > (exit) % Note that in this case using -reorganize-and-dump didn't improve anything. But even just using a dumped heap (rather than loading from source) may improve performance for your application. -Felix _______________________________________________ Larceny-users mailing list Larceny-users@lists.ccs.neu.edu https://lists.ccs.neu.edu/bin/listinfo/larceny-users