libera/#shirakumo - IRC Chatlog
Search
21:27:15
Kingsy
shinmera, I am currently using your emacs config, and I was wondering which .el is responsible for spawning two panes with the same buffers when emacs starts? also why it does this?
21:28:24
Kingsy
eh!!! I get two pains tht container, messages, scratch, inferior lisp, repl and slime events. both the same.
21:53:16
Kingsy
shinmera, so its this line -> (when (featurep 'slime) (slime)) <- that is doing it. :D
4:57:23
hayley
Is there some way to check if Kandria is running the actual game, and not paused? I got GC pause times recorded, but there are some pauses near the very start and end of my tests that I suspect are just loading; and pauses there aren't important.
6:47:08
hayley
Say, I have a hook that runs after GC, and want to check if I should record the pause or not.
6:47:12
Colleen
<shinmera> and you can start the game with (kandria:launch :state T) to load the first save file directly, bypassing the main menu.
6:50:20
Colleen
<shinmera> Oh, and you might want to tweak the display of the GC pause graph in the ui/diagnostics.lisp panel, since I never bothered to figure out what units I'm dealing with :y
6:53:15
hayley
Right. But I'm not sure where to put adding the hook, to add it just after the game loads. Or when to disable it, after the game is closed. (And to do the statistics properly, I guess I need to ignore time spent in Lisp when the game is paused or loading too, but it shouldn't be much more to do.)
6:54:29
Colleen
<shinmera> When I sprof stuff I typically just run the game, when it's up C-c C-c the sprof start, leave it going for a bit, then C-c C-c the sprof stop and then quit the game.
7:19:05
Colleen
<shinmera> But hey, congrats! A complex program with funky pinning and C interactions all works without the engine catching fire.
7:20:29
hayley
It helps that I don't move anything ever, so pinning is almost a no-op (it still has to root the objects). The SBCL test suite hates me for it.
7:21:36
hayley
In particular tests around hash tables fail, because any use of address-based hashing never gets invalidated.
7:22:59
hayley
Very precariously, and I do intend to write a copying pass, if fragmentation gets very bad. But in practise it grows slowly, as objects tend to die in clumps, and the comparison has to be made to a copying GC needing a second semispace to copy into.
7:24:08
hayley
Though SBCL does skimp out on the latter; I forget just how though. But my other tests do run in tighter heaps with the non-moving GC, compared to stock SBCL.