libera/commonlisp - IRC Chatlog
Search
16:34:09
madnificent
Shinmera: was that incompatible with later SBCL releases? I checked something about it but dismissed it for some reason.
16:51:23
Gnuxie
she will explain it when she wakes up, but as i understand it Threadmill only works with older versions of SBCL, and she doesn't recommend her portable hash table library over luckless yet.
16:52:52
Shinmera
If anyone wants to pick up the slack and document the library + add some more small useful primitives like a queue and a stack, that would be great
16:58:16
Gnuxie
Also madnificent, if you need a portable mailbox and queue library "safe-queue" by deadtrickster is good, but it isn't lockless or anything fancy iirc.
19:14:02
Josh_2
I am trying to (setf (slot-value <instance with my own superclass> 'txn) 0) and I keep getting the condition that slot is missing. I have checked both the direct and effective slots
19:14:14
Josh_2
its not missing. Do I have to provide a method for something like slot-value-using-class?
21:37:31
semz
The only way I can think of is to unintern it and make it inaccessible (latter probably not a big concern for keywords), but that probably causes all kinds of problems unless you know a lot about how the keyword came to be and will be used.
21:46:30
Josh_2
Seems all the symbols I would be interested in garbage collecting start with a $ sign
22:24:32
Josh_2
Just gonna keep using jojo, seems that if I *really* want to clean up the keywords package I can just unintern symbols starting with & that are exactly 44 long
22:45:20
White_Flame
44 chars * 8 bytes per char worst case * 14000 keywords = "only" 4.7MB of raw string text
22:46:30
hayley
madnificent: Well, some of the decentralise2 benchmarks are CPU and GC heavy (particuarly network simulations).
22:49:56
hayley
What's funny is that hash table benchmarks tend to try really hard to _not_ allocate. But my code is evil and hammers on some mailboxes and even deletes from hash tables (gasp!), which tends to give the GC a bad time.
22:50:53
hayley
I believe safe-queue is lockless on SBCL, but otherwise it falls back to lparallel which might or might not lock.
22:52:07
hayley
And I don't recommend Threadmill because it only seems to work well on UMA machines with < 40 threads or so. Else the SIMD lookup becomes a problem.
22:53:00
hayley
In testing, it also very rarely drops messages (1 in 10 million-ish) so I've apparently done something wrong.
23:00:21
hayley
(Oh, and Threadmill works on newer versions of SBCL, I just had problems w.r.t fixing a bug in how AVX instructions are assembled. But I found SSE2 to be no slower, and heisig fixed that recently, so it should be unnecessary.)
3:50:39
hayley
I'd be interested in any other GC-heavy multi-threaded benchmarks too, for what it's worth.
4:05:20
jmercouris
borodust: is it called 'burgled batteries' because the batteries are burgled from other projects? is that the rationale?
4:06:40
jmercouris
borodust: sorry, I confused you with somebody else, I was thinking of bodge* or some other library you have and burgled-bodged got transposed in my head