Hello,
Using WordFragments is a bit slower than using plain strings, as a WordFragment is a PHP object. But it's only a bit slower, and the process should be very fast.We have run your snippet on our test servers and the output is generated in less than 0.001s.
For example, if we run the included sample Core/addTable/sample_2.php using a very old machine with PHP 5.2.11, 1GB of RAM and a single CPU, it takes:
$ time php sample_2.php
real 0m0.079s
user 0m0.064s
sys 0m0.004s
We recommend you to read the practical guides about getting the best performance when working with phpdocx:
https://www.phpdocx.com/documentation/cookbook/improve-performance-with-templates
https://www.phpdocx.com/documentation/cookbook/improve-phpdocx-performance
And test each part of your script using the PHP CLI mode or even test it using another test server. It's really difficult to guess what could be wrong; sometimes we have seen buffer limitations when working with some web servers (nginx), or issue when reading the databases or external web services or when trying to replace very long contents in very long templates (in the previous pages you can read about avoiding preprocessing a template each time a placeholder is replaced).
If you want an alternative approach, you can add plain strings placeholders instead of the WordFragments and then use the replaceVariableByWordFragment method to add the new content for each placeholder.
Regards.