00:12:25 -!- Adlai [~Adlai@unaffiliated/adlai] has quit [Remote host closed the connection] 00:12:36 Adlai` [~adlai@unaffiliated/adlai] has joined #ccl 00:12:49 -!- Adlai` is now known as Adlai 00:33:25 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Quit: Ex-Chat] 01:27:47 billstclair [~billstcla@unaffiliated/billstclair] has joined #ccl 02:50:45 -!- alms [alms@clozure-AD075F06.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Quit: alms] 02:50:45 -!- alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Quit: alms] 02:58:09 alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 03:36:48 -!- alms [alms@clozure-AD075F06.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Quit: alms] 03:36:48 -!- alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Quit: alms] 03:46:40 alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 04:22:23 bfulgham_ [~brent@adsl-69-234-135-165.dsl.irvnca.pacbell.net] has joined #ccl 04:23:08 -!- brett_h [~brett_h@75-101-56-240.dsl.static.sonic.net] has quit [Remote host closed the connection] 04:46:06 -!- rme [rme@clozure-42E6C71B.chi.dsl-w.verizon.net] has quit [Quit: rme] 04:46:06 -!- rme [~rme@pool-70-105-123-78.chi.dsl-w.verizon.net] has quit [Quit: rme] 04:51:15 brett_h [~brett_h@c-67-169-69-95.hsd1.ca.comcast.net] has joined #ccl 05:32:14 -!- alms [alms@clozure-AD075F06.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Quit: alms] 05:32:14 -!- alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Quit: alms] 05:42:33 leo2007 [~leo@cpc1-cmbg13-0-0-cust596.cmbg.cable.ntl.com] has joined #ccl 05:55:30 -!- bfulgham_ [~brent@adsl-69-234-135-165.dsl.irvnca.pacbell.net] has quit [Quit: bfulgham_] 07:12:42 -!- brett_h [~brett_h@c-67-169-69-95.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 07:54:30 -!- deepfire [~deepfire@80.92.100.69] has quit [Ping timeout: 258 seconds] 09:54:34 deepfire [~deepfire@80.92.100.69] has joined #ccl 10:07:13 -!- Adlai [~adlai@unaffiliated/adlai] has quit [Ping timeout: 264 seconds] 10:38:59 Adlai [~adlai@unaffiliated/adlai] has joined #ccl 10:39:26 tfb [~tfb@212.183.140.32] has joined #ccl 10:52:09 -!- Phoodus [foo@174-22-216-12.phnx.qwest.net] has quit [Read error: Connection reset by peer] 11:37:58 sellout [~greg@c-24-128-48-180.hsd1.ma.comcast.net] has joined #ccl 11:38:15 alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 12:24:35 -!- alms [alms@clozure-AD075F06.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Quit: alms] 12:24:35 -!- alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Quit: alms] 12:31:11 alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 12:33:46 -!- alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Client Quit] 13:12:38 -!- sellout [~greg@c-24-128-48-180.hsd1.ma.comcast.net] has quit [Quit: sellout] 13:29:00 sellout [~greg@2002:4855:eb9a:0:21d:4fff:fefe:c504] has joined #ccl 13:43:37 alms [~alms@2002:4855:eb9a:0:219:e3ff:feda:a4c0] has joined #ccl 13:44:04 pemryan [~pem@2001:cc0:201e:107:221:86ff:fe1a:e5aa] has joined #ccl 14:08:14 jajcloz [~jaj@2002:4855:eb9a:0:219:e3ff:fe02:96b8] has joined #ccl 14:47:01 is there a way to sort of uh, intercept the garbage collector, and do something before it runs, or "slightly" before it's about to run (like, when it gets within say 10 MB of running)? 15:17:05 -!- gz [Clozure@clozure-93943513.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Ping timeout] 15:18:27 -!- gz [~gz@209-6-40-245.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [Ping timeout: 252 seconds] 15:27:24 brett_h [~brett_h@c-67-169-69-95.hsd1.ca.comcast.net] has joined #ccl 15:29:54 gz [~gz@2002:4855:eb9a:0:21e:c2ff:fe0f:2d89] has joined #ccl 15:39:48 clop: no. There's a "post-gc hook" that let's you run code after the GC runs and there may be some references to "pre-gc hook", but the latter never worked. 15:40:29 ok, thanks 15:41:45 we have a scheme where we are usually able to clear out our data structures at "good points" in the computation 15:41:56 and we'll only do it when we're within some distance from the gc threshold 15:42:16 and that's probably what we want anyway 15:42:38 since it gives us a little more control and lets us clear out these caches at good points 15:43:33 but sometimes we don't manage to get them cleared out and really do hit an automatic gc 15:43:40 and then it's painful :) 15:46:42 -!- alms [alms@clozure-CDE684CB.bstnma.east.verizon.net] has quit [Ping timeout] 15:46:48 Do you know if you use the post-gc hook as part of that scheme ? 15:47:20 Never mind, need coffee. 15:47:55 -!- alms [~alms@2002:4855:eb9a:0:219:e3ff:feda:a4c0] has quit [Ping timeout: 248 seconds] 15:48:50 add-gc-hook is part of it 15:48:55 to set our target memory usage 15:48:59 rme [~rme@pool-70-105-123-78.chi.dsl-w.verizon.net] has joined #ccl 15:52:31 every 128K bytes or so there's a trap that decides whether or not to call the GC, among other things. That'd be the place to do a pre-GC-hook callback. 15:52:55 ooh 15:53:20 Let me talk to Warren & Bob about that. 15:53:30 sure 15:53:38 i think we might be able to make good use of that 15:53:47 kind of a last ditch place where we can throw away a bunch of stuff 15:54:08 btw, static-cons and static-inverse-cons are wonderful 15:55:09 If you do have the opportunity to remove references to stuff before the full GC happens, the full GC is less severe ? 15:56:50 alms [~alms@2002:4855:eb9a:0:219:e3ff:feda:a4c0] has joined #ccl 15:57:13 yes 15:57:31 well, it's sort of two things 15:57:44 (1) we have certain structures like memoize tables that contain references to objects which may no longer be useful 15:57:54 so we can clear those out, at the cost of rebuilding them later if we have to run the same computation 15:58:06 and that potentially frees up huge globs of no-longer-useful memory 15:58:51 (2) we have a hash table that points to a lot of 'unique' conses, and these objects might not be reachable from anywhere else in the program 15:59:21 but the garbage collector can't reclaim them so long as this table is pointing at them (but it can't become weak, I think) 15:59:42 so we can do a special thing to clean out this table to help the garbage collector reclaim those things 16:00:12 i can think more about whether that second table can be unique 16:00:14 er 16:00:14 weak 16:01:39 There were issues a year or two ago where weak tables referenced other weak tables and the algorithm to handle that takes a while to converge. 16:02:33 Plus. you'd be able to say (push #'(lambda () (format t "Lunch time!")) *pre-gc-hooks*) 16:02:50 Sol is always concerned about gc time with weak hash tables, presumably based on some experience of his 16:03:05 but... we've really simplified some of our stuff, and have a lot fewer hash tables around anyway 16:03:24 this one i'm thinking about only ever points to conses 16:03:34 (which themselves never point to hash tables) 16:03:51 er, transitively, reachability-wise speaking 16:13:33 milanj [~milanj_@91.150.126.146] has joined #ccl 16:20:35 -!- brett_h [~brett_h@c-67-169-69-95.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 16:23:37 -!- milanj [~milanj_@91.150.126.146] has quit [Ping timeout: 265 seconds] 16:36:36 -!- tfb [~tfb@212.183.140.32] has quit [Ping timeout: 258 seconds] 16:41:31 brett_h [~brett_h@75-101-56-240.dsl.static.sonic.net] has joined #ccl 17:40:34 -!- segv [~mb@p4FC1BDE2.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 17:41:33 -!- bfulgham [~brent@wsip-72-215-191-226.sb.sd.cox.net] has quit [Ping timeout: 276 seconds] 17:46:37 segv [~mb@p54BE6420.dip.t-dialin.net] has joined #ccl 18:45:00 Adlai` [~adlai@unaffiliated/adlai] has joined #ccl 18:45:13 -!- Adlai [~adlai@unaffiliated/adlai] has quit [Ping timeout: 265 seconds] 18:46:09 -!- Adlai` is now known as Adlai 20:30:16 bfulgham [~brent@wsip-72-215-191-226.sb.sd.cox.net] has joined #ccl 20:33:42 -!- alms [~alms@2002:4855:eb9a:0:219:e3ff:feda:a4c0] has quit [Quit: alms] 20:40:48 -!- jajcloz [~jaj@2002:4855:eb9a:0:219:e3ff:fe02:96b8] has quit [Quit: jajcloz] 20:58:18 -!- gz [Clozure@clozure-CDE684CB.bstnma.east.verizon.net] has quit [Quit: gz] 20:58:18 -!- gz [~gz@2002:4855:eb9a:0:21e:c2ff:fe0f:2d89] has quit [Quit: gz] 21:16:04 -!- sellout [~greg@2002:4855:eb9a:0:21d:4fff:fefe:c504] has quit [Quit: sellout] 21:41:25 sellout [~greg@c-24-128-48-180.hsd1.ma.comcast.net] has joined #ccl 21:43:02 -!- lisppaste5 [~lisppaste@common-lisp.net] has quit [Quit: Want lisppaste5 in your channel? Email lisppaste-requests AT common-lisp.net.] 21:43:06 lisppaste5 [~lisppaste@common-lisp.net] has joined #ccl 21:59:36 alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 22:12:07 -!- sellout [~greg@c-24-128-48-180.hsd1.ma.comcast.net] has quit [Quit: sellout] 22:19:53 -!- alms [alms@clozure-AD075F06.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Quit: alms] 22:19:53 -!- alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Quit: alms] 22:20:02 alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 22:24:42 -!- alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Ping timeout: 252 seconds] 22:28:53 Adlai` [~adlai@unaffiliated/adlai] has joined #ccl 22:29:47 alms [~alms@146-115-42-237.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 22:30:26 -!- Adlai [~adlai@unaffiliated/adlai] has quit [Disconnected by services] 22:30:28 -!- Adlai` is now known as Adlai 22:58:32 bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has joined #ccl 23:07:34 Phoodus [foo@174-22-216-12.phnx.qwest.net] has joined #ccl