I'm not sure if this is circe's fault or a result of a weird interaction with something else. However I'm seeing regular pauses while IRC is up and running. The CPU profiler pointed to GC being the main culprit so I enabled the memory profiler and got the following output:
For one thing considering the time I've been running it seems like a large amount of total memory. I think it's attributed to command-execute because that is when the process filter executes. I've attempted to add some additional instrumentation to see if I could see anything obvious but it's hard to tell:
But it's hard to know if I'm biasing those results with adding extra logging. Any pointers to better ways to debug what is going on would be appreciated.
On suggestion of @wasamasa in IRC I have disabled global-flycheck-mode and that seems to have improved the lag situation. I guess flycheck interacted badly with the circe buffers.
I'm not sure if this is circe's fault or a result of a weird interaction with something else. However I'm seeing regular pauses while IRC is up and running. The CPU profiler pointed to GC being the main culprit so I enabled the memory profiler and got the following output:
For one thing considering the time I've been running it seems like a large amount of total memory. I think it's attributed to command-execute because that is when the process filter executes. I've attempted to add some additional instrumentation to see if I could see anything obvious but it's hard to tell:
One such example showing how often GC collection was triggered:
But it's hard to know if I'm biasing those results with adding extra logging. Any pointers to better ways to debug what is going on would be appreciated.