- Learning Concurrency in Kotlin
- Miguel Angel Castiblanco Torres
- 124字
- 2021-08-05 10:46:42
Parallel execution
If parallel execution is assumed, where each thread is executed in one dedicated core, then the execution of isPalindrome() could be around one third of that of the sequential implementation. Each core will filter its 1,000 words without interruption, reducing the total amount of time needed to complete the operation.
It's important to consider creating a reasonable amount of threads for CPU-bound algorithms, making this decision based on the amount of cores of the current device.. This can be leveraged by using Kotlin's CommonPool, which is a pool of threads created to run CPU-bound algorithms.
CommonPool's size is the amount of cores on the machine minus one. So, for example, it will be of size three in a machine with four cores.