[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