I want to examine the scalability of an F# application that uses MailboxProcessor<'T>
. To do that, i want to test the application by running it first on 1, then on 2, then on 4 and so on of the cores of one multicore machine. How can i limit the logical processors available to the application?
I know that i can tamper with the processor affinity, but will i get the desired results? Will they reflect running the application on different machines that have just the desired number of cores? I am concerned about the ThreadPool
and the TaskScheduler
: will they be configured properly or will they act as if there is no limit?