Как указывает cletus, самым быстрым решением для вас с DOMPDF, вероятно, будет рендеринг каждого отчета в отдельном процессе. Вы можете написать мастер-скрипт, который вызывает дочерний скрипт (используя exec), который выполняет фактический рендеринг. Как вы можете видеть в этом обсуждении о группе поддержки DOMPDF, кажется, что он может немного повысить производительность.
Трудно сказать, что происходит в отношении использования памяти, без какого-либо примера, демонстрирующего проблему. Я не верю, что есть много оптимизаций DOMPDF и лежащего в основе механизма рендеринга CPDF для нескольких экземпляров в одном скрипте. Таким образом, шрифт, вероятно, загружается в память каждый раз, хотя он может использовать статическую переменную для кэширования этих данных.