Advertisement
zero50x

Смарти скорость

Apr 3rd, 2016
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.31 KB | None | 0 0
  1. ## Первый вариант ##
  2.  
  3. $mt1 = microtime(true);
  4.  
  5. require '../libs/Smarty.class.php';
  6. $smarty = new Smarty;
  7.  
  8. $smarty->template_dir = 'templates';
  9. $smarty->compile_dir  = 'templates_c';  
  10. $smarty->compile_check = true;
  11. $smarty->debugging = true;
  12.  
  13. for ($i = 0; $i < 20; $i++) {
  14.     //Создадим переменную для примера
  15.     $name1 = 'V1';
  16.     $name2 = 'V2';
  17.     $name3 = 'V3';
  18.     //Передаем переменную в шаблонизатор Smarty
  19.     $smarty->assign('name1',$name1);
  20.     $smarty->assign('name2',$name2);
  21.     $smarty->assign('name3',$name3);
  22.     //Выводим шаблон на экран
  23.     $smarty->display('main.tpl');
  24. }
  25. $mt2 = microtime(true); $mt3 = $mt2-$mt1; echo "Время: $mt3";
  26. // 20 выводов - Время: 0.58260607719421
  27. // 20 выводов - Время: 0.55610704421997
  28. // 20 выводов - Время: 0.56068897247314
  29.  
  30. ## Второй вариант (вынесем создание переменной и передачу из цикла) ##
  31.  
  32.     //Создадим переменную для примера
  33.     $name1 = 'V1';
  34.     $name2 = 'V2';
  35.     $name3 = 'V3';
  36.     //Передаем переменную в шаблонизатор Smarty
  37.     $smarty->assign('name1',$name1);
  38.     $smarty->assign('name2',$name2);
  39.     $smarty->assign('name3',$name3);
  40.  
  41. for ($i = 0; $i < 20; $i++) {
  42.     //Выводим шаблон на экран
  43.     $smarty->display('main.tpl');
  44. }
  45. // 20 выводов - Время полностью аналогично: 0.56 - 0.57
  46.  
  47.  
  48.  
  49. ## Без шаблонизатора, т.е. так ##
  50.  
  51. $mt1 = microtime(true);
  52.  
  53.     //Создадим переменную для примера
  54.     $name1 = 'V1';
  55.     $name2 = 'V2';
  56.     $name3 = 'V3';
  57.    
  58. for ($i = 0; $i < 20; $i++) {
  59. echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
  60. <html xmlns=\"http://www.w3.org/1999/xhtml\">
  61. <head>
  62. <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>
  63. </head>
  64. <body>
  65.         $name1
  66.         $name2
  67.         $name3
  68. </body>
  69. </html>";
  70. }
  71.  
  72. $mt2 = microtime(true); $mt3 = $mt2-$mt1; echo "Время: $mt3";
  73. // 20 выводов - Время: 6.1988830566406E-5   Это где-то 0,00010 т.е. в 5600 раз медленнее ))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement