ArmA 2 can use up to 31 cores in theory, but experiments have shown that with most scenes the gain above 4 cores is small and above 8 cores unmeasurable.
The explanation is
Amdahl's law - only parts of the application is using all cores. See
Real Virtuality Going Multicore blog.
---------- Post added at 13:58 ---------- Previous post was at 13:54 ----------
In build 76122 and newer the default for dualcores will be changed to -exThreads=3 based on user feedback.
We have also changed the cpu core detection, therefore depending on how many logical cpus are present, default -cpuCount values will be as follows:
1 1
...
6 6
7 7
8 4
9 4
10 5
11 5
12 6
13 6
14 7
....
Some day hopefully we will find a time to provide a proper HT detection, but until then I think the above provides quite reasonable default settings.