What are cores (e.g. 128 cores, 256 cores)?
A core generally means a CPU core (physical core), which is a hardware specification. It has nothing to do with the engine (such as Pikafish) or the GUI (such as Shark GUI), because engines and GUIs are software.
The faster the hardware, the faster the engine calculates. The number of cores is an important factor, since more threads take part in the calculation. Another factor is the speed of each core, which is generally determined by each core's frequency (base speed).
In Task Manager, under CPU, you can see the CPU's specifications; "Cores" and "Logical processors" there correspond to the number of cores and the number of threads respectively.

You can give the engine up to the number of "logical processors" (threads), but normally you should leave a few threads for other system tasks, and also consider cooling, since high temperatures can lower core frequency.
When the number of threads given to the engine exceeds the number of cores and the machine supports hyper-threading, for example an 8-core, 16-thread machine given 9 threads, "hyper-threading" will kick in: at least one core will be virtualized into two threads that execute tasks (normally one core runs only one thread). Note that the two threads within one core have no primary or secondary role; they compete equally for that core's resources, so sometimes the two are even, sometimes thread a gets more speed, and sometimes thread b does.
Hyper-threading is generally considered beneficial, but this is disputed, and even where it helps, the benefit is limited.
