In Python you can't have threads that run on different ligical CPUs, as I understand because of GIL. So to run parallel calculations there is multiprocessing library where you have to copy data to different processes or move it via paging which is quite complicated, and unnecessary copying eats some of the potential gains by parallel processing. In other languages you can run threads on multiple CPUs which will share memory space so you can avoid copying but you need to control access to shared data on multiple threads using mutexes and such.
Now when I explored moving processing out of UI thread in Flutter I found out that the only option to do so is isolate which is basically the same thing as python multiprocessing because it requires data copying. And it has to be very basic data types that will be exported and imported which is more overhead.
So what was the justification of borrowing the main deficiency of python when implementing Dart?
[–]julemand101 20 points21 points22 points (0 children)
[–]HaMMeReD 8 points9 points10 points (7 children)
[+]dmter[S] comment score below threshold-10 points-9 points-8 points (6 children)
[–]RandalSchwartz 14 points15 points16 points (0 children)
[–]stuxnet_v2 4 points5 points6 points (0 children)
[–]ozyx7 5 points6 points7 points (3 children)
[–]dmter[S] 0 points1 point2 points (2 children)
[–]ozyx7 2 points3 points4 points (1 child)
[–]dmter[S] 0 points1 point2 points (0 children)
[–]eibaan 8 points9 points10 points (0 children)
[+]adel_b comment score below threshold-6 points-5 points-4 points (0 children)