Parsoid/JS had a lib/mw/Batcher.js that batched MediaWiki API requests and so, AddMediaInfo's serialized requests would get batched before they went out on the network.
However, Parsoid/PHP does not have a backend batcher. The requests go through one of the DataAccess layers.
Since Parsoid/PHP is synchronous code, this batching ability has to be built into AddMediaInfo by restructure that code to issue requests in batches and process results after all batches are processed.
Caveat: By batching imageinfo requests, we may potentially defeat DB query caching. So, this needs to be done carefully with appropriate research / evaluation.
Additionally, we should also deduplicate requests for the same image -- this is especially an issue on pages that use a lot of icons (flags, yes/no checkmarks images, etc.) in tables.