spierce7
11/22/2021, 3:20 PMdarkmoon_uk
11/23/2021, 12:17 AMdarkmoon_uk
11/23/2021, 12:31 AMspierce7
11/23/2021, 1:39 PMAs the Kotlin/Native project matured and became more widely adopted, the limitations of such a reference counting-based automated memory management scheme started to become more apparent. For one thing, it’s hard to get high throughput for memory allocation-intensive applications. But while performance is important, it is not the sole factor in Kotlin’s design.
The limitations become worse, though, when you throw multithreading and concurrency into the mix. In all the ecosystems where fully automated reference-counting memory management is successfully used (most notably in Python), concurrency is severely restricted via something like the “Global interpreter lock” mechanism. This approach is not an option for Kotlin. It is imperative for mobile applications to be able to offload CPU-intensive operations into background threads that run in parallel with the main thread.
darkmoon_uk
11/23/2021, 1:46 PMdarkmoon_uk
11/23/2021, 1:48 PMdarkmoon_uk
11/23/2021, 1:50 PM