IRC channel logs

2014-08-04.log

back to list of logs

<nalaginrut>morning guilers~
<madsy>nalaginrut: Morning
<nalaginrut>heya
<tadni>nalaginrut: Evening. o/
<nalaginrut>lol
*tadni looks into Skribilo more.
***petercom1and is now known as petercommand
<dsmith-work>Hody Guilers
<dsmith-work>Howdy even
<davexunit>hey!
<joolean1>wingo: I've been playing with Guile 2.2 a bit. It is… horrifyingly fast.
<joolean1>Nice work!
<wingo>tx!
<wingo>takes forever to bootstrap tho
<joolean1>You mean compile psyntax.go and friends? Yeah, that does take a bit longer.
<wingo>yeah
<davexunit>I haven't compiled master in awhile. interested in doing some speed comparisons.
<wingo>i have some patches in the works to recognize switch dispatches and compile as jump tables
<joolean1>But it's soooo worth it. It's really insanely faster. I couldn't believe it.
<wingo>should speed up the evaluator some more
<davexunit>joolean1: what tests have you done?
<ijp>wingo: what's the boostrap time on your machine?
<wingo>ijp: dunno, lemme try
<joolean1>I have a personal project that enforces timeouts on the running time of callbacks into Scheme, and I was finally able to enforce the limit down to 30ms and still get useful chunks of work done.
<joolean1>Before that I had to set things at 300ms or even 1s.
<davexunit>joolean1: how do you enforce the timeouts? it sounds like something that would be useful to me.
<joolean1>davexunit: It's a long story, but my tasks run as part of a transaction coordination system that keeps track of the elapsed time on every call "back" from Scheme into native code, and raises a rollback condition when it detects a timeout.
<joolean1> http://www.nongnu.org/gzochi/
<davexunit>ah, okay.
<davexunit>oh, you're the gzochi maintainer :)
<joolean1>That's me!
<joolean1>Although you might also be interested in the SRFI-18 thread cancellation API
<davexunit>I'm writing a game engine, myself.
<joolean1>Which is more of a blunt-tool approach to the same thing
<davexunit>and I use coroutines a lot.
<joolean1>Ah interesting
<davexunit>and I would like a way to keep runaway coroutines from locking down the application.
<davexunit>I spent a good chunk of time this weekend fixing silly matrix math errors.
<davexunit>but now I have a working 3D rendering mode. :)
<joolean1>heyyy great
<ijp>do we have a read syntax for circular objects?
<ijp>also, I want to finish up my better define-macro patch, but what do I need to know about circular syntax objects in psytnax?
<wingo>i have a guile process using 1G of memory in the bootstrap; that's terrible
<wingo>i don't even know how that's possible
<wingo>i wonder if it's the fact that the interpreter is not safe-for-space...
<ijp>I'm not sure either, but I had a similar experience, and running strace on a long running build, I was getting no output
<ijp>which made me think that compilation on master is a lot more cpu intensive
<ijp>cpu+memory
<wingo>it's wierd because if i Ctrl-C now and re-do i'm certain that it will take not only much less time (this is a make -j8, and it's just the one lingering process building assembler.go)
<wingo>but also much less memory as well
<wingo>there shouldn't be a big difference there though...
<wingo>for memory
<wingo>hmmmmm
<wingo>done finally
<wingo>so assembler.go was like 22 minutes and 1G of memory
<wingo>but if i do it again (removing assembler.go and just rebuilding that one file)
<wingo>and 135M of memory, which is a lot, but it could be worse
<wingo>i need to experiment with a cps-transformed interpreter
<taylanub>ijp: the r7rs-wip branch has some work on supporting SRFI-38. (let ((l (list 'x))) (set-cdr! l l) l) yields (x . #0#). inputting '(x . #0#) ... hangs Guile :|
<taylanub>I was able to C-c
<wingo>hee hee
<ijp>taylanub: yes, that output conflicts with our array syntax
<taylanub>what's the best way to browse all recognized bugs? http://savannah.gnu.org/bugs/?group=guile isn't all of them, is it?
<wingo>taylanub: debbugs.gnu.org
<wingo>savannah isn't used any more
<taylanub>ah, thanks. Google isn't very good in this
<taylanub>oh, so it doesn't really hang, just wait for more input. I guess that's technically not a bug.