Performance Testing

This is a performance comparison for various repeatable content fields in ProcessWire. Each block contains five blocks of Lorem Ipsum and measured time includes the complete rendering process including iteration and retrieving content from the database:

From a performance view the ProFields Table clearly outperforms all other variants, since it does not need secondary templates to obtain information about the content to render. PageTable and all Repeater variants basically use a very similar semantic regarding data storage, each "entry" is stored in a page with a dedicated template. As a consequent timings are rather similar for these types, yet there are differences in details due to the more or less complex operations to realize the functionality.

The RepeaterFlex is designed with performance in mind, which already is significant in this very simple example and will get more obvious with more complex items. Interesting fact is, that it may even outperform the regular Repeater if depth information is used.

For isolated performance tests you may switch the rendering type for Repeater from the links below. They basically switch the informations retrieved from the repeater to compare the timings (variants 6 and 7 are also implemented for the RepeaterMatrix):

You'll find the current template code of this page below, open each accordion entry to see the particular iteration loop.


prepared in 113ms (content 66ms, header 1ms, Menu 32ms, Footer 12ms)