¿Cuál es el tamaño óptimo de grupo de subprocesos para un programa simple que ejecuta tareas basadas en CPU en Java?

Estoy usando un grupo de subprocesos para ejecutar tareas, que en su mayoría están basadas en CPU con un poco de E / S, de tamaño uno mayor que el número de CPU.

Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() + 1)

Suponiendo que el programa simple envíe todas sus tareas a este ejecutor y haga poco más, supongo que tener un grupo de subprocesos más grande frenaría las cosas porque el sistema operativo tendría que multiplicar las oportunidades para dar a cada hilo en el grupo de subprocesos la oportunidad de correr.

¿Es correcto? Si es así, ¿es esto un problema real o en su mayor parte teórico, es decir, si incrementara el tamaño de la agrupación de hilos a 1000, notaría una gran diferencia?

Respuestas a la pregunta(2)

Su respuesta a la pregunta