Well.... I think you are right 🧐 But consider this: when there is a idle handle in a loop, the loop don't wait for other handles. Just check them for any event. It doesn't block-and-wait. I think you have to implement some criteria to sleep the process when there is no real work to do.
On Mon, Apr 5, 2021, 16:46 Nick Thompson <[email protected]> wrote: > > Hi, > > After my previous thread here, I started exploring other potential > patterns for my project. I think the Idler pattern presented in the > Utilities docs ( > http://docs.libuv.org/en/v1.x/guide/utilities.html#idler-pattern) would > work well for my app, so I sketched it up briefly with my loop running with > UV_RUN_DEFAULT. > > I'm finding that if I call `uv_idle_start` even with a dummy callback, my > app will spin up to 90-100% CPU immediately. If I never call that start, > I'm at 0-1% (and of course just running the default loop). On profiling, it > looks like my app spends a ton of energy going back and forth between > uv__run_check and uv__io_poll. > > Is there some gotcha to this pattern that I should be aware of? Or > something particular I need to do to set it up correctly? > > Thanks, > Nick > > -- > You received this message because you are subscribed to the Google Groups > "libuv" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/libuv/e9e2ed9e-477d-4386-9305-74d5333f26edn%40googlegroups.com > <https://groups.google.com/d/msgid/libuv/e9e2ed9e-477d-4386-9305-74d5333f26edn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "libuv" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/libuv/CAMLQwnme3e%3Dk1e9kWuxk6P0QhBOPE5HZzaJWweNSzBhhrYJY-g%40mail.gmail.com.
