As shown by plots in #3417 if compared to results from the Taflove book. This should be orthogonal to changes in that PR tho, as every PML seem to (under)perform the same.
I am looking at it now.
From my Python implementation of Berenger's split field PML with the Yee field solver, I obtain the following rel. error measurements over the course of time for the example mentioned in the PR.
I used
PML thickness = 8
polynomial grading order m = 4
conductivity optimum value = 0.8 * ( m + 1.0 ) / ( 渭 * c * 螖 )
which is also the standard in PIConGPU.

Compared to the measurement with PIConGPU as shown in the PR, the Python implementation yields a significantly lower relative error for the early times, i.e. after the first reflection of the generated pulse from the PML.
The measurement obtained with the Python implementation is thereby comparable to the results shown in Taflove.
After a long investigation I've found the problem.
The way we split update of B into two times propagation by dt/2 (so that E and B are at the same time as required by particle pushers) is also applied to the PML field solvers. But for that solver this resulted in effectively slightly different equations for updating convolutional components during the update of B.
Attaching a picture with a workaround in place to update B as a single step for the same problem as used by @steindev in #3417. Compared to the current PIConGPU dev, the results are much better in terms of absorption and agree with the Taflove book quite well. This workaround version only works with no particles and was done during the investigation. We discussed offline with @psychocoderHPC and @steindev how to fix it for the general case, I will try it out shortly. edit: CPML in this picture is slightly off due to one simplification still in in that version, the corrected plot with up-to-date and slightly lower error values is in #3475

Most helpful comment
After a long investigation I've found the problem.
The way we split update of B into two times propagation by dt/2 (so that E and B are at the same time as required by particle pushers) is also applied to the PML field solvers. But for that solver this resulted in effectively slightly different equations for updating convolutional components during the update of B.
Attaching a picture with a workaround in place to update B as a single step for the same problem as used by @steindev in #3417. Compared to the current PIConGPU

dev, the results are much better in terms of absorption and agree with the Taflove book quite well. This workaround version only works with no particles and was done during the investigation. We discussed offline with @psychocoderHPC and @steindev how to fix it for the general case, I will try it out shortly. edit: CPML in this picture is slightly off due to one simplification still in in that version, the corrected plot with up-to-date and slightly lower error values is in #3475