> The primary factor affecting UART throughput is the baud rate, apart
> from this any other factors affect the UART throughput?
all the usual suspects.
> > For 4000000 bps uart baud rate, what should be the theoretical peak
> data throughput?
Depends entirely what the uart is wired to, how it works and how the
driver is written. If you've got bidirectional communication going on
then you also need to consider latency and windowing.
For a raw transfer over a decent UART with DMA with no post-processing I'd
expect you can do the full line rate but it may eat a lot of CPU time.
The uart code isn't particularly optimal for that kind of usage. It's not
impossible to fix by fast-pathing the non N_TTY line discipline cases but
nobody has found it a big enough pain to bother.