Ясность кода
Четкость кода очень субъективна, но, на мой взгляд, заголовок с одним элементом данных гораздо удобнее для чтения, чем заголовок с большим количеством элементов данных. Файл реализации, однако, более шумный, поэтому ясность там снижена. Это не может быть проблемой, если класс является базовым классом, в основном используется производными классами, а не поддерживается.
ремонтопригодность
Для удобства обслуживания класса pimpl'd я лично нахожу дополнительные разыменования при каждом доступе к элементу данных утомительным. Средства доступа не могут помочь, если данные являются чисто частными, потому что тогда вам все равно не следует открывать для них средство доступа или мутатор, и вы застряли в постоянном разыменовании pimpl.
Для удобства обслуживания производных классов я считаю, что идиома - это чистая победа во всех случаях, потому что в заголовочном файле содержится меньше ненужных подробностей. Время компиляции также улучшено для всех клиентских модулей компиляции.
Производительность
Потеря производительности мала во многих случаях и значительна в нескольких. В долгосрочной перспективе это порядка потери производительности виртуальных функций. Мы говорим о дополнительной разыменовке для каждого доступа к данным, плюс динамическое выделение памяти для pimpl, плюс освобождение памяти при уничтожении. Если класс pimpl'd редко обращается к своим членам-данным, объекты класса pimpl'd создаются часто и являются недолговечными, тогда динамическое распределение может перевесить лишние разыменования.
Решение
Я думаю, что классы, в которых производительность имеет решающее значение, таких, что одно дополнительное разыменование или выделение памяти имеет существенное значение, не должны использовать pimpl, несмотря ни на что. Базовый класс, в котором это снижение производительности незначительно и который широко используется в заголовочном файле, вероятно, должен использовать pimpl, если время компиляции значительно улучшилось. Если время компиляции не уменьшается, это зависит от вашего вкуса.
Для всех остальных случаев это чисто вопрос вкуса. Попробуйте и оцените производительность во время выполнения и время компиляции, прежде чем принимать решение.