***karswell` is now known as karswell
<mvdw>Ya'll too excited for a monday. ***holomorph is now known as Guest5349
***holomorp1 is now known as holomorph
<amz3>you will be pleased to know that I am happy today <amz3>hopefully it will stay the same tomorrow :) <daviid>hi guilers, happy monday all ... <cardamo>ok, I was actually hoping it had not, at least it's an import away <davexunit>I've written many, many programs that don't use any OOP feature <davexunit>OrangeShark: I saw the email come in but haven't had time to apply the patch. <OrangeShark>davexunit: alright, no rush. Was just making sure you saw it. <wingo>ok, /me done refactoring threading things <cardamo>another question, is there pattern matching for function parameters in guile? <wingo>mutexes are some 40% faster in uncontented case <wingo>and about 400% faster when contended <cardamo>wingo: are you implementing mutexes in guile? <wingo>cardamo: guile has mutexes. was just working on their impl. <cardamo>I prefer the message passing, agent model of concurrency, that's probably not in guile <wingo>ah now that's a pleasure. 4 threads locking and unlocking the same mutex 1e6 times on guile 2.0: 11s wall clock, 28s cumulative. guile 2.1 before refactoring: pretty much the same. after refactoring: 2.8s wall clock, 2s cumulative. <cardamo>wingo: wow cool, so you are using guile mutexes to implement fiber? <wingo>cardamo: no, just refactoring some guile internals before the next release <wingo>in fibers there are no mutexes <wingo>tho it is thread-safe, using atomics <wingo>next up, running async interrupts without leaving the vm, so users can build preemptive threading systems :) <wingo>it's all rotating knives from here on out <cardamo>wingo: is fibers beta? can it be used for production? <wingo>see last section of manual. short answer: don't use for production yet :) <cardamo>if I get some time I'll give it a try