I am reading a C# 4.0 book which gives the following default values for the maximum thread limit for the threadpool.
- 1023 in Framework 4.0 in a 32-bit environment
- 32768 in Framework 4.0 in a 64-bit environment
- 250 per core in Framework 3.5
- 25 per core in Framework 2.0
Can anyone tell me what might might have prompted such a vast increase in the defaults, especially for 64 bit? Have the issues with context switching been solved?
In the past, we have set reasonable limits on the size of the threadpool because there seems to be a sweet-spot, after which our application slows down due to context switching. Naturally, we will stress test and re-benchmark after updating the target framework. But can anyone shed any light on what framework improvements have been made to enable a larger threadpool? Or is it just MS increasing the defaults to look impressive?