btdu - a sampling disk usage profiler for btrfs (written in D)
Steven Schveighoffer
schveiguy at gmail.com
Mon Nov 9 15:39:13 UTC 2020
On 11/9/20 8:41 AM, Vladimir Panteleev wrote:
> On Monday, 9 November 2020 at 13:33:50 UTC, matheus wrote:
>> I read about GC issues like this very often and my question is: Can't
>> GC be set just to run without collecting anything, and manually set it
>> to collect after a process is finished?
>
> You can disable the GC and you can run it manually, but this wouldn't
> help in this case, because the ioctls are run across threads in an
> overlapping way. It would be possible if the program was designed such
> that every once in a while, the main thread tells all worker threads
> "OK, let's do a GC so nobody start any new ioctls for now", and when the
> last ioctl finishes run the GC and then let worker threads start ioctls
> again, but this means that up to all but one worker threads are idle and
> waiting for the last ioctl to finish. ioctl duration varies from
> milliseconds to seconds in this case, so it would noticeably affect
> throughput.
>
It would still help I think, because for instance, the UI is probably
not running ioctls, and so it wouldn't pause while you are waiting for
the ioctle-running threads to finish.
-Steve
More information about the Digitalmars-d
mailing list