On 8 October 2016 at 17:55, Ben Gamari <b...@well-typed.com> wrote: > loneti...@gmail.com writes: > > > Hi All, > > > > A user on https://ghc.haskell.org/trac/ghc/ticket/11054 has asked why > > -N -qa isn’t the default for -threaded. > > > I'm not sure that scheduling on all of the cores on the user's machine by > default is a good idea, especially given that our users have > learned to expect the existing default. Enabling affinity by default > seems reasonable if we have evidence that it helps the majority of > applications, but we would first need to introduce an additional > flag to disable it. >
Affinity is almost always a bad idea in my experience. > In general I think -N1 is a reasonable default as it acknowledges the > fact that deploying parallelism is not something that can be done > blindly in many (most?) applications. To make effective use of > parallelism the user needs to understand their hardware, their > application, and its interaction with the runtime system and configure > the RTS appropriately. > > Agree on keeping -N1. Related to this, I think it's about time we made -threaded the default. We could add a -single-threaded option to get back the old behaviour. There is a small overhead to using -threaded, but -threaded is also required to make a lot of things work (e.g. waitForProcess in a multithreaded program, not to mention parallelism). Anyone interested in doing this? Cheers Simon > Of course, this is just my two-cents. > > Cheers, > > - Ben > > _______________________________________________ > ghc-devs mailing list > ghc-devs@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs