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