boot(); $kernel->preHandle($request); // Create test values. $arr = array_fill(0,20, 'lorem ipsum' . mt_rand(0, 99999999999)); $twig_render_array = ['#theme' => 'inline_list', '#items' => $arr]; $markup_render_array = ['#separator' => ', ', '#markup' => $arr]; // Do an unrelated render to set up stuff... $renderer = \Drupal::service('renderer'); $priming = ['#theme' => 'feed_icon']; $renderer->renderPlain($priming); $priming = ['#markup' => 'feed_icon']; $renderer->renderPlain($priming); $tests = 10; for ($i=0; $i<$tests; $i++) { $arr[$i] = array_fill(0, 20, 'lorem ipsum' . mt_rand(0, 99999999999)); } // Test twig template. $time_start = microtime(true); for ($i=0; $i<$tests; $i++) { $twig_render_array = ['#theme' => 'inline_list', '#items' => $arr[$i]]; $renderer->renderPlain($twig_render_array); } $time_end = microtime(true); $time = $time_end - $time_start; echo "Twig render array in $time seconds\n"; // Test #markup. $time_start = microtime(true); for ($i=0; $i<$tests; $i++) { $markup_render_array = ['#separator' => ', ', '#markup' => $arr[$i]]; $renderer->renderPlain($markup_render_array); } $time_end = microtime(true); $time = $time_end - $time_start; echo "#markup render array in $time seconds\n";