The ideal PR is 50 lines long
graphite.dev
graphite.dev
The general idea is that you have a chance to parallelize waiting for review with you writing more code, leading to high-velocity small PRs and never being blocked.
My team does long-lived feature branches so tbh it's pretty hard to keep PRs small