3 ms·
I think you are building on misunderstanding with assumptions that aren't backed up by anything. > non-parallelizable part Which part is that? Synchronization
by CyberDildonics 6y ago
I think you are building on misunderstanding with assumptions that aren't backed up by anything.
> non-parallelizable part
Which part is that? Synchronization does not have to be expensive. The original paper had a theoretical 'serial' part of a program, but synchronization is different in that it can be very fast and doesn't tie up other resources. For a web server the synchronization is in IO, which is being handled by queues. It doesn't stall cores, processes or threads can put their data in a queue and another core can handle it.
> You can either speed up the parallel code 2x (let's be realistic here and stop this 100x nonsense)
Far from it. If python is translated to C++ directly you would already have a massive speedup (I would guess at least 20x, maybe more). If memory allocations are minimized you get another huge (7x) speedup on top of that. If larger chunks are dealt with at one time you get another huge speedup. I think 100x would be common.
Amdahl's Law is really about diminishing returns when there are significant places that need to be serial. Any emulator can be a good example. There aren't nearly as many scenarios that have to be serial as most people think.