and per usual I made a silly mistake and the new chickadee executable doesn't get installed when you run 'make install'. I'll upload a fixed release tomorrow.

Show thread

@dthompson woah this is sick, and exactly the kind of thing I've been hoping to stumble across for a while!

@marie_joseph it's alpha and full of rough edges but I hope you find it useful

@dthompson I'm also pre-release and full of rough edges so it's fine :3

@dthompson in your experience so far, how noticeable are GC pauses when doing game stuff in guile/chickadee?

@bitpuffin it can be noticable if the GC is constantly running, but the trick is always to allocate as little as possible so it rarely runs.

@dthompson How about when you turn on incremental mode?

@bitpuffin I've never seen that work well. No amount of tricks has ever worked better for me than simply reducing allocation as much as possible.

@dthompson gotcha, makes sense since it's boehm after all haha. However, and I could be wrong but, it feels like most schemey code will cause a lot of small allocations, or does guile have a set of cases where it can eliminate many allocs, or do you just pre-allocate a bunch of state data and mutate it?

@bitpuffin using mutable data in hot code is essential in any GC'd language, so that's what I do. There's still plenty of room for functional code at the highest abstraction levels, but if the low level rendering code is allocating a lot then you're doomed. Every now and then I go hunting for sources of allocation and try to eliminate them.

Sign in to participate in the conversation

On the internet, everyone knows you're a cat — and that's totally okay.