{"id":1487,"date":"2012-12-16T08:00:33","date_gmt":"2012-12-16T07:00:33","guid":{"rendered":"https:\/\/blogs.ua.es\/pi\/?p=1487"},"modified":"2013-12-01T19:54:54","modified_gmt":"2013-12-01T18:54:54","slug":"es-lento-php","status":"publish","type":"post","link":"https:\/\/blogs.ua.es\/pi\/2012\/12\/16\/es-lento-php\/","title":{"rendered":"\u00bfEs lento PHP?"},"content":{"rendered":"<p>\u00bfLento o r\u00e1pido? Depende de con qu\u00e9 se compare&#8230;<\/p>\n<p>En el art\u00edculo <a href=\"http:\/\/paul-m-jones.com\/archives\/238\">New Year&#8217;s Benchmarks<\/a> podemos encontrar el resultado de una prueba que consist\u00eda en comparar el tiempo de ejecuci\u00f3n de diferentes frameworks de PHP: Cake, Solar, Symfony y Zend. Tambi\u00e9n realizaron una prueba base en la que compararon &#8220;s\u00f3lo HTML&#8221; y PHP. El resultado de esta comparaci\u00f3n fue:<\/p>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n<thead>\n<tr>\n<th>framework<\/th>\n<th>1<\/th>\n<th>2<\/th>\n<th>3<\/th>\n<th>4<\/th>\n<th>5<\/th>\n<th>avg<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>baseline-html<\/td>\n<td>2613.56<\/td>\n<td>2284.98<\/td>\n<td>2245.98<\/td>\n<td>2234.94<\/td>\n<td>2261.01<\/td>\n<td>2328.09<\/td>\n<\/tr>\n<tr>\n<td>baseline-php<\/td>\n<td>1717.74<\/td>\n<td>1321.49<\/td>\n<td>1292.86<\/td>\n<td>1511.40<\/td>\n<td>1327.35<\/td>\n<td>1434.17<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Como podemos ver, PHP supone un procesamiento que hace que el tiempo de respuesta sea significativamente menor.<\/p>\n<p>Cualquiera puede realizar un experimento similar con la herramienta <a href=\"http:\/\/httpd.apache.org\/docs\/2.2\/programs\/ab.html\">Apache HTTP server benchmarking tool<\/a>, que suele estar disponible con cualquier instalaci\u00f3n de Apache. Con esta herramienta podemos descubrir cu\u00e1ntas peticiones por segundo es capaz de responder cualquier instalaci\u00f3n de Apache.<\/p>\n<p>Por ejemplo, podemos realizar un experimento para ver qu\u00e9 es m\u00e1s r\u00e1pido, escribir &#8220;\u00a1Hola mundo!&#8221; directamente en HTML o desde PHP.<\/p>\n<p>Es decir, tenemos dos p\u00e1ginas, una s\u00f3lo contiene HTML:<\/p>\n<pre>&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n&lt;title&gt;Prueba&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n&lt;p&gt;\r\n\u00a1Hola mundo!\r\n&lt;\/p&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p>La otra contiene un peque\u00f1o fragmento de PHP:<\/p>\n<pre>&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n&lt;title&gt;Prueba&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n&lt;p&gt;\r\n&lt;?php\r\n echo \"\u00a1Hola mundo!\";\r\n?&gt;\r\n&lt;\/p&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p>Los resultados de HTML est\u00e1tico:<\/p>\n<p><a href=\"https:\/\/blogs.ua.es\/pi\/files\/2012\/08\/ab-html.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1501\" alt=\"\" src=\"https:\/\/blogs.ua.es\/pi\/files\/2012\/08\/ab-html-287x300.png\" width=\"287\" height=\"300\" srcset=\"https:\/\/blogs.ua.es\/pi\/files\/2012\/08\/ab-html-287x300.png 287w, https:\/\/blogs.ua.es\/pi\/files\/2012\/08\/ab-html.png 828w\" sizes=\"auto, (max-width: 287px) 100vw, 287px\" \/><\/a><\/p>\n<p>Apache es capaz de devolver 2280 peticiones por segundo cuando se trata de la p\u00e1gina con HTML est\u00e1tico.<\/p>\n<p>Los resultados de PHP:<\/p>\n<p><a href=\"https:\/\/blogs.ua.es\/pi\/files\/2012\/08\/ab-php.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1502\" alt=\"\" src=\"https:\/\/blogs.ua.es\/pi\/files\/2012\/08\/ab-php-298x300.png\" width=\"298\" height=\"300\" srcset=\"https:\/\/blogs.ua.es\/pi\/files\/2012\/08\/ab-php-298x300.png 298w, https:\/\/blogs.ua.es\/pi\/files\/2012\/08\/ab-php-150x150.png 150w, https:\/\/blogs.ua.es\/pi\/files\/2012\/08\/ab-php.png 828w\" sizes=\"auto, (max-width: 298px) 100vw, 298px\" \/><\/a><\/p>\n<p>Apache es capaz de devolver 1439 peticiones por segundo cuando se trata de la p\u00e1gina con c\u00f3digo PHP.<\/p>\n<p>Como podemos ver, otra vez la ejecuci\u00f3n de una p\u00e1gina con PHP, por poco que sea, supone una gran penalizaci\u00f3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfLento o r\u00e1pido? Depende de con qu\u00e9 se compare&#8230; En el art\u00edculo New Year&#8217;s Benchmarks podemos encontrar el resultado de una prueba que consist\u00eda en comparar el tiempo de ejecuci\u00f3n de diferentes frameworks de PHP: Cake, Solar, Symfony y Zend. &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/blogs.ua.es\/pi\/2012\/12\/16\/es-lento-php\/\"> <span class=\"screen-reader-text\">\u00bfEs lento PHP?<\/span> Leer M\u00e1s  &raquo;<\/a><\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[841,1205],"class_list":["post-1487","post","type-post","status-publish","format-standard","hentry","category-general","tag-php","tag-rendimiento"],"_links":{"self":[{"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/posts\/1487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/comments?post=1487"}],"version-history":[{"count":4,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/posts\/1487\/revisions"}],"predecessor-version":[{"id":3205,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/posts\/1487\/revisions\/3205"}],"wp:attachment":[{"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/media?parent=1487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/categories?post=1487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/tags?post=1487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}