I don't understand the problem, haven't looked into it. But, I'd like to share with you two workarounds I found out. Workaround #2: Setting a env var EMACS_IGNORE_TIMERFD=1 Workaround #3: Applying the following patch diff --git a/src/atimer.c b/src/atimer.c index d07cdb82b7a..e6b0af5c01a 100644 --- a/src/atimer.c +++ b/src/atimer.c @@ -317,7 +317,7 @@ set_alarm (void) because the timerfd notifications aren't delivered while Emacs is busy, which prevents things like the hourglass pointer from being displayed reliably (bug#19776). */ -# ifdef CYGWIN +# if 1 // def CYGWIN if (exit) return; # endif It seems to be related to the following bugs: #34618 - 26.1.92; timerfd interface causes slowdown on Cygwin https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34618 #51734 - 29.0.50; got slow https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51734