Good guess Saúl, I want to provide some alternative implementations for the thread-pool that is currently used in libuv on windows.
UMS from everything I have read and experimented with is just plane awesome. See Microsoft's sales pitch for it in a blog http://blogs.msdn.com/b/nativeconcurrency/archive/2009/02/02/dave-probert-goes-deep-on-win7-user-mode-scheduled-threads.aspx and a channel 9 video https://channel9.msdn.com/Shows/Going+Deep/Dave-Probert-Inside-Windows-7-User-Mode-Scheduler-UMS But, it only exists for x64 Windows 7 and x64 Server 2008 r2, or newer. So, I also want to experiment with and provide the OLD Thread Pool API(available for x86+x64 xp/2003) and the NEW Thread Pool API(available for x86+x64 vista/2008), see msdn link https://msdn.microsoft.com/en-us/library/windows/desktop/ms686766(v=vs.85).aspx I can see that part of the OLD thread pool api is being used, namely RegisterWaitForSingleObject and UnregisterWaitEx, but I am interested in checking the entire package of the OLD and NEW thread pool apis, Hopefully, with these new options, multicore performance scaling can be improved. I have found through experimentation and reading that UMS has special benefits that cannot be found in any other way. Also, from experimentation I have found that the new thread pool api can sometimes show an improvement over direct usage of a pool of threads. I forked libuv with the intention of adding these experiments to the benchmarks, and if we find that there are some improvements with the additional options, then I hope we add them to the master tree. see https://github.com/codepilot/libuv Can someone let me know if XP and Vista are still important targets for libuv? Or, should I be targeting win 7 and newer? On Tuesday, June 16, 2015 at 9:22:30 AM UTC-7, Saúl Ibarra Corretgé wrote: > > On 06/16/2015 04:41 PM, Ben Noordhuis wrote: > > On Tue, Jun 16, 2015 at 11:30 AM, <[email protected] <javascript:>> > wrote: > >> I am referring to Window 7 and beyond User Mode Scheduling. see > >> > https://msdn.microsoft.com/en-us/library/windows/desktop/dd627187%28v=vs.85%29.aspx > > >> > >> I uploaded some examples of UMS on my GitHub area, these are old > >> experiments, and I will be updating them a bit to extract useful > performance > >> measurements. > >> > >> See > >> https://github.com/codepilot/v8green > >> Doesn't currently compile, I am changing it to use node 0.12.4. > >> > >> https://github.com/codepilot/UMS > >> Super simple example. > >> > >> https://github.com/codepilot/UMS1 > >> Simple webserver, made to compare UMS with the New Threadpool API > > > > How and why would you integrate that with libuv? It's not entirely > > clear to me what you're trying to accomplish. > > > > My guess would be as a replacement for the thread-pool? Then, if that is > the case, your proposal for a customizable threadpool would help here, I > guess. > > -- > Saúl Ibarra Corretgé > bettercallsaghul.com > > > -- 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 post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/libuv. For more options, visit https://groups.google.com/d/optout.
