[rucksack-devel] PATCH: without-rucksack-gcing

Cyrus Harmon ch-rucksack at bobobeach.com
Fri Jan 12 22:25:55 UTC 2007


On Jan 12, 2007, at 2:13 PM, Arthur Lemmens wrote:

>> about 500 MB, ATM. but it's in the middle of reloading it, which is
>> actually a fairly expensive operation. I think re-evaluating the
>> defclass form when I restart lisp and load my package is causing some
>> rather expensive operations. It takes a few minutes to load.
>
> Mmm.  How big is your roots file?

(sly at cassis):~/projects/cyrusharmon.org/cl-bio/rucksack$ du -sk *
443492  heap
62148   objects
4       roots
4       schemas


>> While I like the whole class re-definition thing, perhaps we need a
>> way to distinguish an attempt to defclass a class that matches what's
>> already on disk from a changed class
>
> I would think that the schema table already takes care of that.  But
> I could be missing something.
>
>> (or perhaps there's something else going on here)
>
> I'm wondering about that.  Can you interrupt it and have a look at
> the stack?

looks like it's gc'ing, although this (or something else at least)  
has been going on for quite a while now:

   0: (SB-UNIX::SIGINT-HANDLER #<unavailable argument> #<unavailable  
argument> #.(SB-SYS:INT-SAP #X0220613C))
   1: (SB-SYS:INVOKE-INTERRUPTION #<CLOSURE (LAMBDA #) {18C03F9D}>)
   2: ("foreign function: call_into_lisp")
   3: ("foreign function: funcall3")
   4: ("foreign function: interrupt_handle_now")
   5: ("foreign function: _sigtramp")
   6: ("bogus stack frame")
   7: (SB-IMPL::REFILL-BUFFER/FD #<SB-SYS:FD-STREAM for "file /Users/ 
sly/projects/cyrusharmon.org/cl-bio/rucksack/heap" {1FAB1CB9}>)
   8: (SB-IMPL::INPUT-UNSIGNED-8BIT-BYTE #<SB-SYS:FD-STREAM for  
"file /Users/sly/projects/cyrusharmon.org/cl-bio/rucksack/ 
heap" {1FAB1CB9}> NIL NIL)
   9: ((SB-PCL::FAST-METHOD RUCKSACK::DESERIALIZE-BYTE (STREAM))  
#<unused argument> #<unused argument> #<SB-SYS:FD-STREAM for "file / 
Users/sly/projects/cyrusharmon.org/cl-bio/rucksack/heap" {1FAB1CB9}>  
NIL)
10: (RUCKSACK::READ-NEXT-MARKER #<SB-SYS:FD-STREAM for "file /Users/ 
sly/projects/cyrusharmon.org/cl-bio/rucksack/heap" {1FAB1CB9}>)
11: (RUCKSACK::DESERIALIZE #<SB-SYS:FD-STREAM for "file /Users/sly/ 
projects/cyrusharmon.org/cl-bio/rucksack/heap" {1FAB1CB9}> T NIL)
12: ((SB-PCL::FAST-METHOD RUCKSACK::LOAD-BLOCK (RUCKSACK:MARK-AND- 
SWEEP-HEAP #1="#<...>" . #1#)) #<unused argument> #<unused argument>  
#<RUCKSACK:MARK-AND-SWEEP-HEAP {12BDBB71}> 147468424 :BUFFER  
NIL :SKIP-HEADER T)
13: ((SB-PCL::FAST-METHOD RUCKSACK::MARK-ROOT (RUCKSACK:MARK-AND- 
SWEEP-HEAP INTEGER)) #<unavailable argument> #<unavailable argument>  
#<RUCKSACK:MARK-AND-SWEEP-HEAP {12BDBB71}> 960964)
14: ((SB-PCL::FAST-METHOD RUCKSACK::MARK-SOME-ROOTS (RUCKSACK:MARK- 
AND-SWEEP-HEAP T)) #<unavailable argument> #<unavailable argument>  
#<RUCKSACK:MARK-AND-SWEEP-HEAP {12BDBB71}> 971898880)
15: ((SB-PCL::FAST-METHOD RUCKSACK::COLLECT-SOME-GARBAGE  
(RUCKSACK:MARK-AND-SWEEP-HEAP T)) #<unavailable argument>  
#<unavailable argument> #<RUCKSACK:MARK-AND-SWEEP-HEAP {12BDBB71}>  
971898880)
16: ((SB-PCL::FAST-METHOD RUCKSACK:TRANSACTION-COMMIT-1  
(RUCKSACK:STANDARD-TRANSACTION RUCKSACK:STANDARD-CACHE  
RUCKSACK:STANDARD-RUCKSACK)) #<unavailable argument> #<unavailable  
argument> #<RUCKSACK:STANDARD-TRANSACTION #337762770700000 with 0  
dirty objects> #<RUCKSACK:STANDARD-CACHE of size 10000, heap #P"/ 
Users/sly/projects/cyrusharmon.org/cl-bio/rucksack/heap" and 9561  
objects in memory.> #<RUCKSACK::SERIAL-TRANSACTION-RUCKSACK in #P"/ 
Users/sly/projects/cyrusharmon.org/cl-bio/rucksack/" with 0 roots  
{12A613B9}>)
17: ((LAMBDA (SB-PCL::.PV-CELL. SB-PCL::.NEXT-METHOD-CALL. SB- 
PCL::.ARG0. SB-PCL::.ARG1. SB-PCL::.ARG2.)) #<unavailable argument>  
#<unavailable argument> #<RUCKSACK:STANDARD-TRANSACTION  
#337762770700000 with 0 dirty objects> #<RUCKSACK:STANDARD-CACHE of  
size 10000, heap #P"/Users/sly/projects/cyrusharmon.org/cl-bio/ 
rucksack/heap" and 9561 objects in memory.> #<RUCKSACK::SERIAL- 
TRANSACTION-RUCKSACK in #P"/Users/sly/projects/cyrusharmon.org/cl-bio/ 
rucksack/" with 0 roots {12A613B9}>)
18: (NIL)
19: (SB-INT:SIMPLE-EVAL-IN-LEXENV
       (LET* ((RUCKSACK:*RUCKSACK* RUCKSACK:*RUCKSACK*) (CL- 
BIO::RUCKSACK #))
         (UNWIND-PROTECT (PROGN #) (RUCKSACK:CLOSE-RUCKSACK CL- 
BIO::RUCKSACK)))
       #<NULL-LEXENV>)
20: ((FLET SB-C::DEFAULT-PROCESSOR)
       (LET* ((RUCKSACK:*RUCKSACK* RUCKSACK:*RUCKSACK*) (CL- 
BIO::RUCKSACK #))
         (UNWIND-PROTECT (PROGN #) (RUCKSACK:CLOSE-RUCKSACK CL- 
BIO::RUCKSACK))))
21: (SB-C::PROCESS-TOPLEVEL-FORM
       (LET* ((RUCKSACK:*RUCKSACK* RUCKSACK:*RUCKSACK*) (CL- 
BIO::RUCKSACK #))
         (UNWIND-PROTECT (PROGN #) (RUCKSACK:CLOSE-RUCKSACK CL- 
BIO::RUCKSACK)))
       (SB-C::ORIGINAL-SOURCE-START 2 2 4)
       (:COMPILE-TOPLEVEL))
22: ((FLET SB-C::DEFAULT-PROCESSOR) (RUCKSACK:WITH-RUCKSACK (CL- 
BIO::RUCKSACK CL-BIO::*BIO-RUCKSACK*) (RUCKSACK:WITH-TRANSACTION NIL  
(DEFCLASS CL-BIO::P-TAX-NAME # # # #))))
23: (SB-C::PROCESS-TOPLEVEL-FORM (RUCKSACK:WITH-RUCKSACK (CL- 
BIO::RUCKSACK CL-BIO::*BIO-RUCKSACK*) (RUCKSACK:WITH-TRANSACTION NIL  
(DEFCLASS CL-BIO::P-TAX-NAME # # # #))) (SB-C::ORIGINAL-SOURCE-START  
0 4) (:COMPILE-TOPLEVEL))
24: (SB-C::PROCESS-TOPLEVEL-PROGN ((RUCKSACK:WITH-RUCKSACK (CL- 
BIO::RUCKSACK CL-BIO::*BIO-RUCKSACK*) (RUCKSACK:WITH-TRANSACTION NIL  
#))) (SB-C::ORIGINAL-SOURCE-START 0 4) (:COMPILE-TOPLEVEL))
25: (SB-C::PROCESS-TOPLEVEL-FORM (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD- 
TOPLEVEL :EXECUTE) (RUCKSACK:WITH-RUCKSACK (CL-BIO::RUCKSACK CL- 
BIO::*BIO-RUCKSACK*) (RUCKSACK:WITH-TRANSACTION NIL #))) (SB- 
C::ORIGINAL-SOURCE-START 0 4) NIL)



More information about the rucksack-devel mailing list