On 06/16/2015 11:13 PM, [email protected] wrote: > 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, >
Our current threadpool implementation does not use those APIs. It's a user-space threadpool built by a Dutch Systems Artisan, Ben. Those APIs are used as well, but for reading from names pipes which we cannot use IOCP on (IIRC). > > > Hopefully, with these new options, multicore performance scaling can be > improved. > What multicore problem are you trying to solve here? Each libuv event loop runs in a single thread and that will remain as is for the foreseeable future. Only filesystem and DNS operations use the threadpool. > 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? > We still support those. Ideally we'll drop XP and Server 2k3 support in the next major release, but Vista is still supported by MS. Cheers, -- 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.
signature.asc
Description: OpenPGP digital signature
